参考链接:
- https://blog.csdn.net/weixin_40861707/article/details/105554017?ops_request_misc=&request_id=&biz_id=102&utm_term=linux%E5%AE%89%E8%A3%85mysql5.7&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-7-105554017.pc_search_insert_js_new
- https://www.cnblogs.com/testlearn/p/12438873.html
具体步骤:
1)检查是否安装过mysql 有的话先卸载
rpm -qa | grep mysql
2)查询并删除所有mysql文件
查询 whereis mysql
和 find / -name mysql
删除 rm -rf
rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql
3)确认下mysql相关目录是否清除干净:
whereis mysql
和 find / -name mysql
4)检查mysql用户组和用户是否存在,没有要创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql
5)下载mysql https://downloads.mysql.com/archives/community/
6)/usr/local/路径下新建文件夹mysql,上传压缩包,解压,重命名
7)创建数据目录并赋予权限
mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
8)编译安装mysql
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
务必记住初始化输出日志末尾的内容(数据库管理员临时密码)!!!
9)编辑配置文件my.cnf
vi /etc/my.cnf
修改后配置如下:
[mysqld]
datadir=/usr/local/mysql/data
#socket=3306
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
max_connections=400
innodb_file_per_table=64
lower_case_table_names=1
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/log/mariadb/mariadb.log
pid-file=/usr/local/mysql/run/mariadb/mariadb.pid
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
- 创建log-error,pid-file,socket对应目录并赋予权限
mkdir -vp /usr/local/mysql/log/mariadb #递归创建目录
chown -R mysql:mysql /usr/local/mysql/log
chown -R mysql:mysql /usr/local/mysql/log/mariadb
chmod -R 755 /usr/local/mysql/log/mariadb
touch /usr/local/mysql/log/mariadb/mariadb.log
mkdir -vp /usr/local/mysql/run/mariadb #递归创建目录
chown -R mysql:mysql /usr/local/mysql/run
chown -R mysql:mysql /usr/local/mysql/run/mariadb
chmod -R 755 /usr/local/mysql/run
mkdir -vp /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
11)启动mysql服务器:
/usr/local/mysql/support-files/mysql.server start
12)添加软连接,并重启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 /var/lib/mysql/mysql.sock /tmp/mysql.sock
service mysql restart
13)登录mysql,修改密码(密码为步骤8生成的临时密码)
mysql -u root -p
set password for root@localhost = password('密码');
14)开放远程连接
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
15)设置开机自动启动
#将服务文件拷贝到init.d下,并重命名为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld #赋予可执行权限
chkconfig --add mysqld #添加服务
chkconfig --list # 显示服务器列表
16)mysql彻底安装成功!!!
Navicat连接MySQL出现的问题
1)如果未开放端口会报错 10060 “Unknown error”,需要在linux防火墙开放3306端口
# firewall-cmd --add-port=3306/tcp --permanent
# firewall-cmd --reload
2)如果不开放root用户访问权限会报错 not allowed to connect,需对外开放
在linux中登录mysql,进入mysql库
mysql -u root -p
use mysql;
查看user表中数据,修改root用户host字段值为“%”
MySQL [mysql]> select host,user from user;
MySQL [mysql]> update user set host="%" where user="root";
MySQL [mysql]> flush privileges;