共计 3069 个字符,预计需要花费 8 分钟才能阅读完成。
一、筹备工作
- 下载安装包 下载地址
-
查看零碎⾃带的
MARIADB
rpm -qa|grep mariadb
-
卸载零碎⾃带的
MARIADB
(如果有),remove 前面加rpm -qa|grep mariadb
查问进去的门路yum -y remove
二、解压
- 将
mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
安装包上传到/usr/local/
目录下 -
安装包解压, 并重命名为 mysql
xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql
-
创立 MYSQL ⽤户和⽤户组
groupadd mysql useradd -g mysql mysql
-
批改 MYSQL ⽬录的归属⽤户
chown -R mysql:mysql ./
-
筹备 MYSQL 的配置⽂件, 编辑
vim /etc/my.conf
[mysql] # 设置 mysql 客户端默认字符集 default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysqld] skip-name-resolve #设置 3306 端⼝ port = 3306 socket=/var/lib/mysql/mysql.sock # 设置 mysql 的装置⽬录 basedir=/usr/local/mysql # 设置 mysql 数据库的数据的寄存⽬录 datadir=/usr/local/mysql/data # 容许最⼤连接数 max_connections=200 # 服务端使⽤的字符集默认为 8 ⽐特编码的 latin1 字符集 character-set-server=utf8 # 创立新表时将使⽤的默认存储引擎 default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=16M
并且批改权限
mkdir /var/lib/mysql chmod 777 /var/lib/mysql
三、装置 MySQL
-
进入
cd /usr/local/mysql
目录 进行初始化./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
-
执行初始化后, 控制台会返回长期明码,
记录长期明码
, 前面会用到例如:
像我的例子在最初一行 A temporary password is generated for root@localhost:kvct:yIy8_qk
我的长期明码就是这个:kvct:yIy8_qk
例子: 2021-09-14T01:30:19.227943Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 1808 2021-09-14T01:30:19.250431Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2021-09-14T01:30:20.184005Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2021-09-14T01:30:21.140583Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main 2021-09-14T01:30:21.141148Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main 2021-09-14T01:30:21.341903Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kvct:yIy8_qk
-
复制启动脚本到资源目录
cp ./support-files/mysql.server /etc/init.d/mysqld
-
编辑
vim /etc/init.d/mysqld
, 批改basedir
和datadir
, 为其理论对应的目录basedir=/usr/local/mysql datadir=/usr/local/mysql/data
四、设置 MYSQL 服务开启⾃启
-
减少 mysqld 服务管制脚本执⾏权限
chmod +x /etc/init.d/mysqld
-
将 mysqld 服务加⼊到零碎服务
chkconfig --add mysqld
-
查看 mysqld 服务是否曾经⽣效即可
mysqld 0: 关 1: 关 2: 开 3: 开 4: 开 5: 开 6: 关
chkconfig --list mysqld
-
启动 mysql, 返回
SUCCESS!
service mysqld start
五、配置环境变量
-
编辑
vim ~/.bash_profile
, 在文件开端增加上面信息export PATH=$PATH:/usr/local/mysql/bin
-
执行上面命令, 使环境变量失效
source ~/.bash_profile
六、登录 MySQL,并批改明码
-
以 root 账户登录 mysql
mysql -u root -p
- 输出方才记录的
长期明码
-
批改
Root
账户明码, 并刷新权限alter user user() identified by "root"; flush privileges;
-
设置近程主机登录
use mysql; update user set user.Host='%' where user.User='root'; flush privileges;
七、查看防火墙
- 做完下面步骤, 肯能还是近程连贯不上, 凋谢端口或者敞开防火墙
-
查看防火墙状态
systemctl status firewalld
-
查看开机是否启动防火墙服务
systemctl is-enabled firewalld
-
敞开防火墙
systemctl stop firewalld
-
禁用防火墙(系统启动时不启动防火墙服务)
systemctl disable firewalld systemctl is-enabled firewalld
-
凋谢端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload # 配置立刻失效
-
敞开端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent firewall-cmd --reload # 配置立刻失效
-
查看防火墙所有凋谢的端口
firewall-cmd --zone=public --list-ports
-
查看监听的端口
centos7 默认没有 netstat 命令,须要装置 net-tools 工具,yum install -y net-tools
netstat -lnpt
-
查看端口被哪个过程占用
netstat -lnpt |grep 3306
-
查看过程的详细信息
ps 6832
-
查看蕴含
mysql
的所有过程ps -ef | grep mysql
-
停止过程
kill -9 6832