MySQL 安装
官网:https://downloads.mysql.com/archives/community/
1、准备:
1. 检测系统是否自带mysql
rpm -qa | grep mysql
2. 如果有,则使用下面命令进行删除:
rpm -e --nodeps ‘上一步查找的名称’
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
4. 删除上面查找的所有文件夹
rpm -qa | grep -i -E mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps
2、安装
1. 使用rz命令上传下载好的jar包
(或者使用软件上传 如:XFTP(上传路径/usr/local/))
[root@x ~]# cd usr/local/
[root@x local]# rz
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
3. 修改解压目录名称
[root@x local]# mv mysql-5.7.30-el7-x86_64/ mysql
4. 在/usr/local/mysql目录下创建data目录
[root@x local]# mkdir mysql/data
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
(删除mysql用户及用户组)
[root@xi99 local]# more etc/passwd | grep mysql
mysql:x:1001:1001::/home/mysql:/sbin/nologin
[root@xi99 local]# more etc/shadow | grep mysql
mysql:!!:18492:0:99999:7:::
[root@xi99 local]# more etc/group | grep mysql
mysql:x:1001:
[root@xi99 local]# userdel mysql
[root@xi99 local]# groupdel mysql
groupdel: group 'mysql' does not exist
[root@xi99 local]# more etc/passwd | grep mysql
[root@xi99 local]# more etc/group | grep mysql
[root@xi99 local]# more etc/shadow | grep mysql
6. 更改mysql目录下所属的用户组和用户,以及权限
[root@x local]# chown -R mysql:mysql usr/local/mysql/
[root@x local]# chmod -R 755 usr/local/mysql
cd usr/local/mysql
修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
7.编译安装并初始化mysql
cd mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
8. 如果报错
9. 查看并安装libaio包
[root@localhost bin]# rmp -qa|grep libaio
-bash: rmp: command not found
[root@localhost bin]# yum -y install libaio-devel.x86_64
10. 再次执行步骤7,并记住日志最后的初始化密码(localhost:******)
11. 编辑配置文件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
12. 启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
启动命令:service mysql start
重启命令:service mysql restart
停止命令:service mysql stop
13. 添加软连接,并重启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
14. 登录mysql,修改密码为123456
(登录的密码是步骤10中初始化密码)
[root@x bin]# mysql -u root -p
Enter password:
(如果报错的话—解决方案在后面)
mysql>set password for root@localhost = password('123456');
15. 开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges; //刷新权限
3、测试
1.Navicat连接测试
MySQL登录报错解决方法:
编辑:vi /etc/my.cnf
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,保存文档并退出
接下来我们需要重启MySQL:
/etc/init.d/mysql restart
(有些用户可能需要使用 /etc/init.d/mysqld restart )
重启后进入:mysql
修改root的密码:
set password for root@localhost=password('123456');
如果报错:
先执行:
flush privileges;
再修改:
set password for root@localhost=password('123456');
编辑my.cnf,删掉刚才添加的内容,
vi /etc/my.cnf
然后重启MySQL /etc/init.d/mysql restart
登录:mysql -u root -p
搞定!
觉得不错的话,点个关注~~~