安装环境
linux:Centos7
mysql:8.0.21
下载地址:https://dev.mysql.com/downloads/mysql/
我选择的是mysql-8.0.21-linux-glibc2.12-x86_64.tar
安装部署开始:
在linux上新建一目录,把下载下来的数据库压缩包文件上传到linux上面,解压
tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar
再解压这一个压缩包得到mysql数据库的目录
tar -xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
先重命名目录,名称太长了(随意)
mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0.21
移动至指定的位置
mv /root/公共/mysql-8.0.21 /usr/local/mysql
设置用户组和用户,及其权限
groupadd g_mysql
useradd -r -g g_mysql mysql_root
创建数据库目录
mkdir -p /data/mysql
为这个库目录给mysql_root设置访问权限
chown mysql_root:g_mysql -R /data/mysql
编写mysql配置文件:
vim /etc/my.cnf
新安装数据库可照搬
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql_root
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 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=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
编辑完成按Esc 输入:wq回车退出
切换到bin中初始化
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql/ --user=mysql_root --initialize
查看生成的密钥并保留
cat /data/mysql/mysql.err
最后一行的最后几个字就是
[Server] A temporary password is generated for root@localhost: mauuE=pJ#9Bl
冒号后面开始 mauuE=pJ#9Bl 就是密钥
复制服务文件到etc的初始化D中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动MySQL服务
service mysql start
成功了 登陆MySQL
./mysql -u root -pmauuE=pJ#9Bl
注:如果发现无法登录,可排查是否缺少依赖,一般不会
登陆MySQL测试,正常执行使用我们之前的那个密码,访问成功!
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; #更新一下用户的密码
FLUSH PRIVILEGES;
然后退出重新登陆,安装完成。
远程链接访问
1、mysql开启远程
[root@localhost /]# mysql -u root -p
Enter password:
# 开放远程
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
2、mysql开启远程后,如果还不能连接,则需要判断是不是端口号没有开放,开放步骤如下:
# 开启端口3306
[root@localhost /]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重启防火墙
[root@localhost /]# firewall-cmd --reload
#查看已经开放的端口
[root@localhost /]# firewall-cmd --list-ports
注意:防火墙操作失败
Traceback (most recent call last):
File "/usr/bin/firewall-cmd", line 24, in <module>
from gi.repository import GObject
出现类似问题,排查服务器python安装情况
修改报错文件python执行版本
vim /usr/bin/firewall-cmd
表头修改为2.7或其他