MySql

Linux系统中安装MySQL

2022-08-24  本文已影响0人  芯语

环境:
1、操作系统:CentOS 7.7
2、安装版本:mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz(下载地址:http://dev.mysql.com/downloads/mysql/
特殊说明:MySQL5.6版本和5.7版本安装方法略有不同,以下方法以5.6版本为主
3、参考文档:
https://www.jianshu.com/p/f4a98a905011
https://blog.csdn.net/xiaoyi23000/article/details/56491466
https://www.cnblogs.com/niechen/p/6875695.html

1、卸载已存在的mysql文件和文件夹

find / -name mysql
rm -rf 上边查找到的路径,多个路径用空格隔开
#或者下边一条命令即可
find / -name mysql|xargs rm -rf
image.png

2、解压mysql压缩文件(文件放在/usr/local路径下)

tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
image.png

3、删除安装包,重命名文件

rm -f mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.31-linux-glibc2.5-x86_64/ mysql
image.png

4、添加mysql用户组和mysql用户

先检查是否有mysql用户和mysql用户组,若没有,则添加,若有,则跳过此步骤。

groups mysql
#添加mysql用户和mysql用户组
groupadd mysql
useradd -r -g mysql mysql
image.png

5、进入到mysql目录更改权限

cd mysql/
chown -R mysql:mysql ./
image.png

6、执行安装脚本

./scripts/mysql_install_db --user=mysql
image.png

安装完成后,修改当前目录(/usr/local/mysql)拥有者为root用户,修改data目录拥有者为mysql。

chown -R root:root ./
chown -R mysql:mysql data
image.png

7、启动mysql

./support-files/mysql.server start
image.png

在执行此命令时出现报错ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).


image.png

解决方法:
(1)首先查看是否有mysql进程在运行,若有,杀掉进程再重新运行(步骤执行后成功启动mysql,下一条步骤不用执行)

ps aux|grep mysql(执行此命令查看到进程再用kill -9命令杀死进程)
#或者下边一条命令即可杀掉所有MySQL进程
ps aux|grep mysql|awk '{print $2}'|xargs kill -9
image.png

(2)操作后还是报错,查看是否有mariadb-lib文件(centos7系统中会默认安装一些关于mysql和mariadb文件),若有,强制删除文件。

rpm -qa|grep -i mariadb-libs
rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
image.png

(3)再次执行启动命令,发现还有报错,但报错信息改变( ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).)


image.png

(4)查看log文件(/usr/local/mysql/data/localhost.localdomain.err),提示utf-8的编码方式有问题。注销my.cnf文件(/usr/local/mysql/my.cnf)中关于设置utf-8的配置行。


image.png
注销设置utf-8的语句
image.png
(5)运行mysql,还是失败,提示信息不变。查看log信息有改变,提示Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist。
image.png

重新执行./scripts/mysql_install_db --user=mysql命令,再运行mysql,运行成功。


image.png

8、修改密码

MySQL启动之后用命令更改root用户的登录密码。

./bin/mysqladmin -u root -h localhost.localdomain password 'root'
image.png

更改成功后可登录MySQL

./bin/mysql -h127.0.0.1 -uroot -proot
image.png

登录之后将其他用户的密码更改成root

update mysql.user set password=password('root') where user='root';
flush privileges;
image.png

9、增加远程登录权限

需要用命令增加远程登录权限,否则远程用navicat登录会报错。

grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;
image.png

10、将MySQL加入service系统服务

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
#用下面的命令执行成功,代表配置成功
service mysqld restart
 service mysqld status  
image.png

11、配置my.cnf文件

在my.cnf文件中增加几条语句。

vim my.cnf
#添加以下两条语句并保存退出
character-set-server=utf8
lower_case_table_names=1
max_allowed_packet=100M
image.png

配置好文件之后重启mysqld服务.


image.png

12、修改登录方式

完成以上步骤之后,发现登录MySQL只能用进入到/usr/local/mysql/bin/目录下执行mysql -uroot -proot才能登录,在其他目录下直接执行mysql -uroot -proot命令会提示找不到该命令。
这是因为系统会默认查找/usr/bin/下的命令,而mysql没有在这个目录下,所以会出现报错。
解决方式:

#将mysql的安装路径链接到/usr/bin目录下
ln /usr/local/mysql/bin/mysql /usr/bin/
image.png
上一篇下一篇

猜你喜欢

热点阅读