Linux安装Mysql8.0与Navicat连接数据库
- mysql官网下载安装包 https://www.mysql.com/ 最好下载 .gz的安装包
-
查看是否安装mariadb
rpm -qa | grep mariadb
卸载mariadb
rpm -e --nodeps mariadb-libs-5-xxx#安装包名
注意自己的安装包名!!!
安装MySQL依赖包 libaioyum install libaio
- 创建MySQL安装目录和数据存放目录,并授权
mkdir /usr/local/mysql mkdir /usr/local/mysql/mysqldb chmod -R 777 /usr/local/mysql chmod -R 777 /usr/local/mysql/mysqldb/
-
创建MySQL组;创建MySQL用户,并设置密码
useradd mysql passwd mysql
输入密码(密码不要太简单)
- 将mysql目录的权限授给mysql用户和mysql组
1 chown -R mysql:mysql /usr/local/mysql - 切换到/usr/local/mysql目录并rz命令上传安装包和解压
cd /usr/local/mysql rz
tar -zxvf xxx 对应包名
ls查看确认是否解压完 -
创建MySQL的安装初始化配置文件my.cnf
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/usr/local/mysql/mysql-8.0.28-el7-x86_64 # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/mysqldb # 允许最大连接数 max_connections=10000 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf
按 i 进行输入输入完按esc+:+wq退出
-
进入MySQL安装目录:
cd /usr/local/mysql/mysql-8.0.28-el7-x86_64/bin/
安装MySQL,并记住随机密码:
./mysqld --initialize --console
可能会报错
解决方法 安装依赖:
yum install -y libaio yum -y install numactl
再次安装即可
记住生成随机密码初次登录会用到切记!!!
-
启动MySQL服务
cd .. cd support-files/ ./mysql.server start
可能会报错
1)my_print_defaults:未找到命令错误。
修改 /etc/my.cnf 中的 MySQL的安装目录见7中的图
2)重新授权目录权限就好
chmod -R 777 /usr/local/mysql/mysql-8.0.28-el7-x86_64
chmod -R 777 /usr/local//mysql/mysqldb
重启服务器即可
-
将MySQL加入系统进程中
cp mysql.server /etc/init.d/mysqld
重启服务器
service mysqld restart
-
切换到bin目录进入mysql并修改密码
cd .. cd bin/ ./mysql -u root -p
输入初始化的密码
进行修改密码
update mysql.user set authentication_string="123456" where user="root" and host='localhost';
可能会报错
解决方案:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
flush privileges;
在退出数据库重进即可用修改后的密码
-
对数据库进行远程连接
use mysql;
切换数据库
将Host改为%表明一切ip可以连接
update user set user.Host='%' where user.User='root';
刷新即可
flush privileges;
修改防火墙打开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
systemctl restart firewalld
查看开放端口
firewall-cmd --list-ports
重启服务
service mysqld restart
设置Mysql开机自启动
cp /usr/local/mysql/mysql-8.0.28-el7-x86_64/support-files/mysql.server /etc/init.d/mysqld
给权限
chmod +x /etc/init.d/mysqld
添加进服务
chkconfig --add mysqld
查看服务列表
chkconfig --list
345全为on即成功如果不是
chkconfig --level 345 mysqld on
重启服务器
reboot
再次查看服务如果有是on Linux端环境配置结束
以腾讯服务器为例
添加防火墙打开Navicat进行连接
即可连接进入,以上就是全部过程;