MYSQL重学—安装教程

这是我参与更文挑战的第14天,活动详情查看: 更文挑战

最近购买了腾讯云服务器,想给搭建一个自己的博客网站,准备用nodeJS + mySql实现自己的目标,下面是记录安装一个MySql数据库的过程。

1,安装检查

安装之前,先检查一下是否已经安装了其他版本的MySql, 和MariaDB

rpm -qa | grep mysql
rpm -qa | grepm mariadb

发现新买的服务器默认安装了mariadb数据库,于是卸载
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
复制代码

2,下载安装源

[root@VM-0-7-centos soft]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

[root@VM-0-7-centos soft]# yum -y install mysql57-community-release-el7-10.noarch.rpm

复制代码

3,开始安装

[root@VM-0-7-centos soft]# yum -y install mysql-community-server
复制代码

总结: 上面两边完成之后,mysql就安装完毕。其中第二部大约需要10分钟左右, 前面的mariadb即使没有卸载,这一步安装完之后,也会被覆盖

4,启动MySql

[root@VM-0-7-centos soft]# systemctl start mysqld.service
复制代码

5,运行状态

[root@VM-0-7-centos soft]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-03-29 23:42:51 CST; 34s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 11023 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 10969 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 11026 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─11026 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Mar 29 23:42:46 VM-0-7-centos systemd[1]: Starting MySQL Server...
Mar 29 23:42:51 VM-0-7-centos systemd[1]: Started MySQL Server.

复制代码

6,原始密码

[root@VM-0-7-centos soft]# grep "password" /var/log/mysqld.log
2021-03-29T15:42:47.495342Z 1 [Note] A temporary password is generated for root@localhost: &NxOTa_4hQ9l
复制代码

7,修改密码

[root@VM-0-7-centos soft]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.33

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
Query OK, 0 rows affected (0.04 sec)

复制代码

8,远程访问

mysql> grant all privileges on *.* to 'root'@'%' identified by 'JamieDawn@3975' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
复制代码

如果是指定的IP地址,把 % 修改成你的IP

grant all privileges on *.* to 'root'@'127.0.0.1' identified by 'JamieDawn@3975' with grant option;
复制代码

9,添加端口

[root@VM-0-7-centos soft]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
FirewallD is not running
[root@VM-0-7-centos soft]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
FirewallD is not running
复制代码

防火墙开启失败,查看防火墙状态

[root@VM-0-7-centos soft]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1) 
复制代码

开启防火墙,并再次查看防火墙状态,

[root@VM-0-7-centos soft]# systemctl start firewalld
[root@VM-0-7-centos soft]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-03-29 23:59:02 CST; 15s ago
     Docs: man:firewalld(1)
 Main PID: 13435 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─13435 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

Mar 29 23:59:02 VM-0-7-centos systemd[1]: Starting firewalld - dynamic firewall daemon...
Mar 29 23:59:02 VM-0-7-centos systemd[1]: Started firewalld - dynamic firewall daemon.

复制代码

再次添加firewalld 端口号

[root@VM-0-7-centos soft]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@VM-0-7-centos soft]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@VM-0-7-centos soft]# firewall-cmd --reload
success
复制代码

10,配置信息

[root@VM-0-7-centos soft]# mysql -uroot -p
Enter password: 

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.7.33, for Linux (x86_64) using  EditLine wrapper

Connection id:		3
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.33 MySQL Community Server (GPL)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			19 min 46 sec
复制代码

需要把Server characterset的 latin1改成:utf8格式

[root@VM-0-7-centos soft]# vi /etc/my.cnf
复制代码

输入i ,进入编辑状态, 修改完之后

[root@VM-0-7-centos soft]# vi /etc/my.cnf

[client]
default-character-set=utf8
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8
collation-server=utf8_general_ci
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

复制代码

然后: 按键 Esc, 退出编辑状态, 接着按键: Shift + : 最后输入 wq, 退出并保持, 如果输入q! , 不保存,强制退出, 最后重启mysql

[root@VM-0-7-centos soft]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
复制代码

打开navicat, 连接mysql, 输入密码,安装成功

11,总结

每一次的安装都是一次收获,记录一下自己的安装心得,不想成为一个全栈的前端不是一个好前端。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享