centos7.X 安装
- 查看CentOS下是否已安装mysql
sudo yum list installed | grep mysql - 删除已安装mysql
sudo yum -y remove mysql - 下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm - 安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
- 安装mysql
yum -y install mysql-server根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
- 重置mysql密码
mysql -u root登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
chown -R root:root /var/lib/mysql - 重启mysql服务
systemctl restart mysqld - 接下来登录重置密码 链接地址
centos6.x
- 查看CentOS下是否已安装mysql
sudo yum list installed | grep mysql - 删除已安装mysql
sudo yum -y remove mysql - 查看yum库中的mysql(非必须)
sudo yum list | grep mysql - 从yum库中的安装mysql
sudo yum -y install mysql mysql-server mysql-devel - 验证是否安装成功
rpm -qi mysql-server - 启动MySql服务
sudo service mysqld start - 创建用户
mysqladmin -u root password root - 进入MySql
mysql -u root -p root - 修改密码 链接地址
- 设置开机启动(非必须)
sudo chkconfig mysqld on
tar包安装
- 检查是否存在mysql库文件
rpm -qa | grep mysql # 检查命令 rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 # 若存在则卸载 - 检查是否存在mysql用户和组
cat /etc/passwd | grep mysql # 检查命令 useradd -r -g mysql mysql # 若不存在则创建 groupadd mysql # -r 参数表示mysql用户是系统用户,不可用于登录系统 - 创建数据、日志存储目录
mkdir -p /data/mysql/data mkdir -p /var/lib/mysql/log mkdir /var/run/mysqld/ - 更改所属用户
chown -R mysql:mysql /data/mysql chown -R mysql:mysql /var/lib/mysql/log chown -R mysql:mysql /opt/mysql chown -R mysql:mysql /var/run/mysqld/ - 解压安装包
tar -zxf mysql-*.tar.gz -C /opt/soft/ - 链接
ln -s /opt/soft/mysql* /opt/mysql - 复制配置文件
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysql cp /opt/mysql/support-files/my-default.cnf /etc/my.cnf - 修改配置文件 ```shell vim /etc/init.d/mysql basedir=/opt/mysql datadir=/data/mysql/data
vim /etc/my.cnf [mysqld] basedir =/opt/mysql datadir =/data/mysql/data character_set_server=utf8 init_connect=’SET NAMES utf8’ socket=/tmp/mysql.sock log-error=/var/lib/mysql/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
9. 初始化参数
```shell
/opt/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/data/mysql/data
- 添加环境变量
```shell
vim /etc/profile
mysql environment
export MYSQL_HOME=/opt/mysql export PATH=$PATH:$MYSQL_HOME/bin
source /etc/profile
11. 配置mysql自动启动
```shell
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
- 设置运行级别在3和5时mysql自动启动
chkconfig --level 35 mysql on - 启动mysql
./mysqld_safe --user=mysql & # 启动mysql cat /var/lib/mysql/log/mysqld.log | grep root@localhost mysql -uroot -p # 密码上面生成的临时密码 mysql> set password=password("root"); mysql> FLUSH PRIVILEGES; - 允许root在任何主机登录
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; mysql> grant all privileges on *.* to 'root'@'cdh-master' identified by 'root' with grant option; mysql> flush privileges; - 启动mysql服务
service mysql restart
文件结构
配置文件
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
修改数据库data存放位置
首先把mysql的服务先停掉。
更改MySQL配置文件my.ini中的数据库存储主路径 或
mv /var/lib/mysql /data/mysql
ln -s /data/mysql /var/lib/mysql
常见问题及解决办法
问题
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘
解决
可能是服务未开启,也可能是/var/lib/mysql的访问权限问题。
问题
service mysqld start 失败
解决
sudo service mysqld start
问题
访问权限
解决
chown -R openscanner:openscanner /var/lib/mysql