Linux-MySQL5.7.30安装配置
1. 准备
1.1 检测系统是否自带MySQL
rpm -qa | grep mysql
1.2 如果有,则使用下面命令进行删除:
rpm -e --nodeps ‘上一步查找的名称
1.3 删除成功后,查询所有Mysql对应的文件夹
[root@localhost ~]#whereis mysql
mysql: /usr/bin/mysql /usr/local/mysql
[root@localhost ~]# find / -name mysql
/run/lock/subsys/mysql
/etc/rc.d/init.d/mysql
/usr/bin/mysql
/usr/local/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/data/mysql
1.4 删除上面查找的所有文件夹
rm -rf 文件路径
2. 安装
2.1 使用XFTP工具上传下载好的MySQL压缩包至local目录下
[root@x ~]# cd /usr/local/
2.2 解压
[root@x local]# tar -zxvf mysql-5.7.30-el7-x86_64.tar.gz
注:如果是tar包:
先 tar -xvf mysql-5.7.30-el7-x86_64.tar
再 tar -zxvf mysql-5.7.30-el7-x86_64.tar.gz
2.3 修改解压目录名称
[root@x local]# mv mysql-5.7.30-el7-x86_64/ mysql
2.4 在/usr/local/mysql目录下创建data目录
[root@x local]# mkdir mysql/data
2.5 检查mysql用户组和用户是否存在,如果没有,则创建
[root@x local]# cat /etc/group | grep mysql
[root@x local]# cat /etc/passwd | grep mysql
[root@x local]# groupadd mysql
[root@x local]# useradd -r -g mysql mysql
2.6 更改mysql目录下所属的用户组和用户,以及权限
[root@x local]# chown -R mysql:mysql /usr/local/mysql/
[root@x local]# chmod -R 755 /usr/local/mysql
2.7 进入mysql bin目录,编译安装并初始化mysql
[root@x local]#cd mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
2.7.1 如果报错
2.7.2 查看并安装libaio包
[root@localhost bin]# rmp -qa|grep libaio
-bash: rmp: command not found
[root@localhost bin]# yum -y install libaio-devel.x86_64
2.7.3 再次执行2.7(没有出错的小伙伴,这一步跳过),并记住日志最后的初始化密码(记住)
2.8 编辑配置文件my.cnf, vi /etc/my.cnf添加配置如下
[client]
#password = your_password
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'
port = 3306
socket = /usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /usr/local/mysql/data
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
3. 启动MySQL服务器
/usr/local/mysql/support-files/mysql.server start
启动命令:service mysql start
重启命令:service mysql restart
停止命令:service mysql stop
3.1 添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
service mysql restart
3.2 登录MySQL(登录密码是2.7步骤中的初始化密码),并修改密码
[root@x bin]# mysql -u root -p
Enter password:
如果登录报错的话:参考下面 4.
修改密码
mysql>set password for root@localhost = password('123456');
3.3 开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges; //刷新权限
3.4 使用Navicat工具连接测试
3.5. 关于MySQL开机自启
3.5.1 将服务文件拷贝到init.d下,并重命名为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
3.5.2 赋予可执行权限
chmod +x /etc/init.d/mysqld
3.5.3 添加服务
chkconfig --add mysqld
3.5.4 显示服务列表
chkconfig --list
注:如果看到mysql的服务,并且3,4,5都是开的话则成功,如果是关,则
chkconfig --level 345 mysqld on
3.5.5 重启电脑
reboot
查看mysql服务是否开机自启。
完成
4. MySQL登录报错解决方法:
4.1 编辑my.cnf文件
vi /etc/my.cnf
在[mysqld]后面任意一行添加
skip-grant-tables
用来跳过密码验证的过程,保存文档并退出
4.2 重启MySQL:
/etc/init.d/mysql restart
有些用户可能需要使用:
/etc/init.d/mysqld restart
4.3 进入MySQL
MySQL
4.4 修改root密码
set password for root@localhost=password('123456');
如果报错,先执行
flush privileges;
再修改
set password for root@localhost=password('123456');
4.5 修改密码后,编辑my.cnf,删掉刚才添加的内容
vi /etc/my.cnf
4.6 重启MySQL
/etc/init.d/mysql restart
4.7 登录
mysql -u root -p
搞定!