腾讯云服务器配置mysql数据库
- 准备mysql数据库压缩包
首先进入mysql数据库官网: MySQL :: Download MySQL Community Server (Archived Versions)
如下图所示,选择Linux系统,图中第二个下载
下载好的文件在本机downloads文件中,如图所示:
2. 本机上传Linux服务器
我们用上文将的同样命令:
scp mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz root@xx.xxx.xxx.xxx:/root/downloads/mysql-8.0.16-linux- glibc2.12-x86_64.tar.xz
将mysql压缩包上传到服务器
打开服务器,查看downloads文件夹是否存在mysql文件:
3.解压mysql压缩包到/usr/local文件中
tar -zxvf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz -C /usr/local(解压代码)
文件重命名:mv mysql-8.0.16-linux-glibc2.12-x86_64 mysql,将文件重命名为mysql
4.创建mysql用户组及用户
groupadd mysql
useradd -r -g mysql mysql
我们可以用groups mysql查看用户是否进入mysql用户组
5.进入mysql目录更改权限
cd进入root根目录,cd /usr/local/mysql进入mysql目录,修改权限
l
7.执行安装脚本
./scripts/mysql_install_db --user=mysql
写这段代码报错困惑了我好久,原因是我们没有安装一个插件,安装一下就OK了
yum -y install numactl
安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql
chown -R root:root ./
chown -R mysql:mysql data(如果没有data文件夹,新建MySQL数据存储文件夹)
mkdir data
8.初始化mysql数据库,生成默认密码
bin/mysqld --initialize --user=mysql --basedir=/usradir=/usr/local/mysql/data/(如果报错可以百度,有解答)
2018-12-22T05:24:39.603264Z 0 [Warning] [MY-011070] [Server] 'Disablining --skip-symbolic-links (or equivalent) is the default. Consider notas it' is deprecated and will be removed in a future release.
2018-12-22T05:24:39.603444Z 0 [System] [MY-013169] [Server] /usr/localmysqld 8.0.13) initializing of server in progress as process 27519
2018-12-22T05:24:41.891360Z 5 [Note] [MY-010454] [Server] A temporary ed for root@localhost: ePrOX&p>L52# //这是初始默认密码
2018-12-22T05:24:43.475923Z 0 [System] [MY-013170] [Server] /usr/localmysqld 8.0.13) initializing of server has completed
9.设置数据库存储文件夹的用户权限
chown -R root:root ./
chown -R mysql:mysql data
//修改etc/my.cnf配置文件
//修改为以下内容:
[mysqld]
server-id = 1
port = 3306
bind-address =0.0.0.0
mysqlx_port = 33060
mysqlx_socket = /tmp/mysqlx.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
pid-file = /tmp/mysqld.pid
log-error = error.log
slow-query-log = 1
slow-query-log-file = slow.log
long_query_time = 0.2
log-bin = bin.log
relay-log = relay.log
binlog_format =ROW
relay_log_recovery = 1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect ='SET NAMES utf8mb4'
innodb_buffer_pool_size = 1G
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
log_timestamps = SYSTEM
lower_case_table_names = 1
default-authentication-plugin =mysql_native_password
ESC->:wq保存退出
chmod 777 /etc/my.cnf 修改文件权限
10.设置开机自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
/注册查看服务
chkconfig --add mysql
chkconfig --list mysql
// /etc/ld.so.conf 这个文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。
如果我们安装了第三方的库,而没有将它放在链接器可以找到的目录,则运行使用这些第三方库的程序时,会提示找不到库。
vim /etc/ld.so.cnf
添加如下内容:include ld.so.conf.d/*.conf /usr/local/mysql/lib
11.添加环境变量
vim /etc/profile
添加如下内容:
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
//让配置文件立马生效
[root@root mysql]# source /etc/profile
12.启动MySQL服务
[root@root mysql]# service mysql start
//使用生成的密码登陆MySQL数据库
[root@root mysql]# mysql -u root -p
//修改密码
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> exit
//退出重登录mysql
查看数据库
13.设置远程访问mysql
要想放开MySQL远程访问权限,你必须拥有一台配备了公网IP的服务器,可以是云服务器,也可以是自建机房里的服务器。下面我们以云服务器为例。先将mysql安装配置后,如下所示,启动后,监听在3306端口上。
MySQL启动好以后,我们来说一下MySQL的账号格式,基本格式是:
user@location
user指的是用户名
location指的是用户来源,可以是一个IP地址,也可以用*号表示所有来源。用单个IP地址时,表示只允许某个IP的用户登录这台服务器,用*号时,表示所有来源的某个用户都可以登录这台服务器。我们看一下默认的设置,命令是:
select user,host from mysql.user;
可以看到,默认情况下,只允许root监听在localhost这个本地地址上,另外两个用户mysql.session和mysql.sys是系统用户,无法用于登录。
用户创建好以后,我们先来查询一下当前环境IP地址,打开百度搜索,输入IP,就能看到我们当前电脑的公网IP。如下面图中所示,我的公网IP是一个113开头的地址。然后我们来将test库的权限赋予给test用户,如下面第二张图中所示,使用grant命令将test库的权限分别赋予给test@localhost,test@113.*.*.*这样两个地址。
修改好我们查看一下:
这边我没有更改test的主机,所有主机都可以访问
一定要刷新权限flush privileges
去把3306端口加入安全组的配置规则
为了将mysql可视化,我们提前准备Navicat数据库管理去连接远程服务器数据库
主机是服务器ip地址,test是你授权远程主机用户,完美解决!!!
下篇更新部署java web 服务器。