在阿里云上部署mysql数据库
1、服务器是centOS8 默认安装了mariadb的lib,但需要手动安装server,所以执行:yum -y install mariadb mariadb-server,安装客户端;
2、安装完成后执行:systemctl start mariadb 启动mariadb;
3、执行:systemctl enable mariadb 设置开机自动启动;
4、配置mariadb,执行:mysql_secure_installation
* Enter current password for root (enter for none):<–初次运行直接回车
- 设置密码
* Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
* New password: <– 设置root用户的密码
* Re-enter new password: <– 再输入一次你设置的密码
- 其它配置
* Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
* Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
* Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
* Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车;
4、基础配置完成后,执行:mysql -uroot -ppassword 进行登录
5、配置mariadb字符集合,执行vim/etc/my.cnf,通过vi编辑器在my.cnf中插入:
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
6、使用vi编辑器打开/etc/my.cnf.d/client.cnf,在[client]中添加 :
default-character-set=utf8
7、使用vi编辑器打开/etc/my.cnf.d/mysql-clients.cnf,添加:
default-character-set=utf8
8、配置远程链接
-在linx命令行中输入:mysql -uroot -ppasswd 进入mariadb控制台;
-在控制台中输入:use mysql;
-输入:CREATE USER 'username'@'host' IDENTIFIED BY 'password';新建用户并赋予所有权限
(username:要新建的用户名,host:允许用户从那个主机登录,用%则表示,可以从任何主机登录,password:登录的密码)
-赋予用户远程登录权限:GRANT privileges ON databasename.tablename TO 'username'@'host'
(privileges:用户的操作权限,如SELECT , INSERT , UPDATE 等如,要授予所的权限则使用ALL,databasename.tablename:数据库名.表名,授予该用户对所有数据库和表的相应权限可用.*
9、修改完成在mariadb控制台执行:FLUSH PRIVILEGES进行刷新配置并生效
10、在修改my.cnf.d/mariadb-server.cnf中bind-address的ip使所有ip都可以远程访问:bind-address=0.0.0.0
11、关闭防火墙:sudo service firewalled stop 或者 iptables -F
12、进入阿里云服务器控制台,在控制台中的安全组策略中出/入都要加入对应的3306端口,源ip设置为:0.0.0.0/0使得所有ip都可以访问;
附linux常用命令:
遍历查找关键字:grep -rn 'XXXXXX'*
遍历查找文件:find . -name '*.xml'
本地连接数据库:mysql -uroot -p
查看是否已经安装过:yum list installed | grep mysql
卸载已安装的包:yum remove XXX.XX
linux下ping某个服务器指定端口:telnet x.x.x.x 3306
关闭防火墙:sudo service firewalled stop 或者 iptables -F
重启mariadb数据库:systemctl restart mariadb
查看开放的tcp类型端口:netstat -ntpl