avatar

目录
CentOS 7下安装MySQL步骤笔记

1. 检查之前是否安装过mysql, 执行命令

Code
1
rpm -qa | grep  mysql 或 rpm -qa | grep mariadb

如果结果不为空,则执行命令

Code
1
rpm -e --nodeps '上条命令的输出'

再查找所有跟mysql或者mariadb有关的文件和文件夹,执行命令

Code
1
whereis mysql 或 which mysql 或 find / -name mysql

再执行命令

Code
1
rm -rf 'mysql文件所在目录'

2. 创建用户和组

执行命令

Code
1
2
groupadd mysql
useradd mysql

3. 执行下列命令下载安装包

Code
1
wget mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

在 /usr/local/ 下创建 mysql目录
解压安装包并将内容复制到mysql目录中
执行命令

Code
1
2
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz/* /usr/local/mysql/

4. 安装编译MySQL所需的库

如果这是一台新机器,那么在编译安装的过程中可能会出现由于某些库文件的缺失而安装失败的情况。为了避免这种问题,我们事先先安装好依赖库。执行命令

Code
1
2
yum install  libaio-devel.x86_64
yum -y install numactl

5. 编译运行mysql

执行命令

Code
1
2
3
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
--pid_file=/usr/local/mysql/mysql.pid

假如这步没有报错的话,控制台会输出一个mysql的初始root用户密码,将这个密码记下来,后边会用到。
修改mysql配置文件,打开 /etc/my.cnf, 加入以下内容:

Code
1
2
3
4
5
6
7
8
9
10
11
12
[mysqld]
user=mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
max_connections=400
innodb_file_per_table=1

[client]
port=3306
socket=/usr/local/mysql/mysql.sock

退出编辑并保存,启动MySQL, 执行命令

Code
1
/usr/local/mysql/support-files/mysql.server start

6. 设置软链接并重启

执行下列命令为MySQL的执行文件设置软链接

Code
1
2
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

并重启MySQL

Code
1
service mysql restart

7. 修改初始密码

先登录MySQL, 切换到 /usr/local/mysql/bin目录下

Code
1
mysql -h localhost -uroot -p

然后输入第5步得到的初始root密码

执行语句

Code
1
set password for root@localhost = password('yourpass');

修改root用户的初始密码

8. 开放远程连接

为了让不在同一台机器上的客户端都可以连上MySQL Server端,可以考虑开放远程连接功能,执行以下SQL

Code
1
2
3
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

9. 设置开机启动

执行以下命令可将MySQL服务设置为开机启动

Code
1
2
3
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld

10.安装过程中可能出现的一些问题

本次安装过程中第5步主要出现了以下2个问题

  • 错误1: mysqld_safe error: log-error set to ‘/usr/local/mysql/log/mariadb/mariadb.log’, however file don’t exists. Create writable for user ‘mysql’

这个错误应该就是错误信息中所描述的文件不存在,或者说是my.cnf 配置文件写错了,解决办法就是创建好相应的目录和文件就行.

  • 错误2: The server quit without updating PID file
    这个错误的可能原因是,对于配置文件中所配置的一些目录和文件,mysql用户没有写入的权限,可以尝试使用chmod命令进行修正

还有一个错误就是在登录MySQL的时候可能会报一个这样的连接错误:
Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

这个问题的解决就是在 my.cnf 配置文件中配置上 [client] 后面那一段,保存并重启MySQL服务就可以了。


主要参考来源:

  1. -https://www.jianshu.com/p/276d59cbc529
文章作者: JanGin
文章链接: http://jangin.github.io/2020/02/15/the-steps-to-install-MySQL-on-CentOS7/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 JanGin's BLOG

评论