第一次使用腾讯云服务器OpenCloudOS 8.6安装配置MySQL5.7
前言
之前配置Java11
的环境 现在安装配置MySQL的环境了,这里我选择的是5.7
的版本。
本文参考了以下文章:
清香可口柑: Linux下安装Mysql5.7,超详细完整教程,以及云mysql连接
weixin_43034862: mysql登录报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open
煜 [yù]: linux vi命令详解
一些必要的准备
先检查有无自带的mariadb,输入如下检查。
rpm -qa | grep mariadb
如果控制台输出有的话,输入以下命令 挨个卸载
rpm -e --nodeps 控制台输出的包名
获取压缩包
其中版本号
-
Microsoft Windows
:是一款由微软公司开发的闭源操作系统,主要应用于个人电脑、服务器、嵌入式设备等各种场景。 -
Debian Linux
:是一款以自由软件为基础的开源操作系统,主要应用于服务器、嵌入式设备等各种场景。 -
Ubuntu Linux
:是基于Debian Linux开发的操作系统,主要面向个人计算机和服务器。 -
SUSE Linux Enterprise Server
:是一款由SUSE公司开发的商业版Linux操作系统,主要面向企业级应用和服务器。 -
Red Hat Enterprise Linux / Oracle Linux
:都是由Red Hat和Oracle公司开发的商业版Linux操作系统
,主要面向企业级应用和服务器。 -
Linux-Generic
:是一种通用的Linux发行版(不属于上述的任何一版
的Linux操作系统,OpenCloudOS8.6
属于这一版),适用于各种不同的硬件架构和应用场景。 -
Oracle Solaris
:是一款由Oracle公司开发的商业版Unix
操作系统,主要应用于企业级应用和服务器。 -
Source code
:是MySQL数据库的源代码
,用户可以根据需要自行编译安装。
同样可以试着输入以下命令查看服务器的版本:
cat /etc/issue
cat /etc/os-release -- OpenCloudOS是这个
lsb_release -a
hostnamectl
下面一栏表示
这里的"glibc 2.12
"(也就是gcc
)表示该版本适用于安装了glibc 2.12或更高版本
的Linux发行版。glibc是GNU C语言库
,是Linux系统中最基本的动态链接库之一。
可以输入命令
gcc --version
查看本机的gcc版本。(不过现在的gcc版本高得很,大家可以自行选择。)
对于选择哪个下载,第一个
即可
它们的区别如下:
Compressed TAR Archive
:通常以.tar.gz或.tgz为扩展名,是一种将多个文件打包成一个文件的格式
,然后用gzip压缩的格式
。Compressed TAR Archive, Test Suite
:与Compressed TAR Archive类似,是一个打包并压缩的文件,但还包含一些测试脚本和程序
。TAR
:通常以.tar为扩展名,是一种将多个文件打包成一个文件的格式,但没有进行压缩
。
点击下载,然后可能需要登陆一下Oracle
才行,跟之前的Java11安装一样。
这里我下载的安装包由于是600多M
所以我直接使用XFtp上传到服务器
了。因为腾讯云的网页端大小限制为200M
。
当然也可以使用wget
命令获取:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
我这里选择的是5.7.41版本
的安装包,大家酌情选定。
安装
首先解压
tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
移动到usr/local
下 且命名为mysql
sudo mv mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql
创建一个mysql用户组
及一个mysql的用户
,并且授权
(这一步要在local文件夹
下执行)
groupadd mysql #创建属组
useradd -r -g mysql mysql #创建用户
chown -R mysql:mysql mysql #修改属组及属组用户
chmod -R 775 mysql #修改文件夹权限
在安装目录下(我这里是mysql)
创建一个data
文件夹 用于存储数据。
mkdir data
进入到安装目录下的bin目录
,执行以下命令初始化mysql
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
这一命令执行完的最下方会有一个临时密码
,待会第一次登录的时候需要使用。有必要复制粘贴
出来,以防万一。
建立软链接(可以理解为设置系统环境变量
,让你在任何目录下执行mysql命令都有效
)
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
可以使用以下命令查看
ll /etc/init.d/mysql
再加一个bin目录的软链接
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
同样可以使用以下命令查看
ll /usr/local/bin/mysql
然后在/etc
目录下创建一个名为my.cnf
的文件
vi /etc/my.cnf
内容如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 作用是禁止域名解析:在mysql的授权表中就不能使用主机名了,只能使用IP
skip-name-resolve
# 设置3306端口
port = 3306
#设置远程访问ip
bind-address=0.0.0.0
# 设置mysql的安装目录
basedir=/usr/local/mysql5.7
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql5.7/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#设置查询操作等不区分大小写
lower_case_table_names=1
# 错误日志设置 需要自己创建并授权给mysql用户 并授予文件读写权限
log-error = /home/tomcat/log/error.err
# 慢日志设置 需要自己创建并授权给mysql用户 并授予文件读写权限
slow_query_log = ON
slow_query_log_file = /home/tomcat/log/slow.log
long_query_time = 1
log_queries_not_using_indexes
创建
对应的日志文件,自己创建
,然后授权(我这里是创建在/home/tomcat/log
目录下):
更改错误日志文件
所有者为mysql
chown -R mysql /home/tomcat/log/error.err
更改文件权限
chmod 755 /home/tomcat/log/error.err
慢日志的文件的授权和权限操作跟上面一样,只是文件名称不一样。
进入到/etc
目录下授权
chmod -R 775 /etc/my.cnf
至此安装完成。
启动
service mysql start #启动mysql服务
service mysql stop #停止mysql服务
service mysql restart #重启mysql服务
设置开机自启动
chkconfig --add mysql
可以使用以下命令查看 其中是否有mysql服务
chkconfig --list
登录
在任意目录下输入
mysql -uroot -p
然后输入你之前初始化时的保存的临时密码
。这里可能会遇到错误。
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
缺少对应的包,安装一下即可:
yum install libncurses*
修改密码并配置远程连接
使用以下命令初始化密码
set password for root@localhost = password('你的密码')
配置远程连接,用户名和密码自己设置
grant all privileges on *.* to '用户名'@'%' identified by '密码'
至此 基本安装完成。
使用Navicate远程连接云服务器上的mysql
先去云服务器上设置一下防火墙规则
确定以后 在下面看到以下结果即可
打开Navicate新建连接
,输入对应信息然后确定即可