这是我参与更文挑战的第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