我是一名大大的学生,在一所大学的计算机科学系学的计算机科学与技术专业,在本学期的做的毕业设计需要用到云服务器来部署自己开发的项目进行测试,在朋友的推荐下,我认识到了阿里云这个平台,了解到了“飞天加速计划·高校学生在家实践”活动,我决定先领取两周试用一下。
下面我来说一下我使用阿里云服务器部署Mysql8.0时遇到的问题及解决方法。
一、在服务器上安装Mysql8.0
1.进入usr的local文件夹中
cd /usr/local
2.创建mysql文件夹
mkdir mysql
3.进入mysql文件夹
cd mysql
4.下载mysql8.0安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
5.进入mysql文件夹中
cd /usr/local/mysql
6.解压安装包
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
7.重命名解压出来的文件夹,这里改成mysql-8.0
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
8.在/usr/local/mysql文件夹下创建data文件夹
mkdir data
9.分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)
groupadd mysql
useradd -g mysql mysql
10.授权刚刚新建的用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
chmod 750 /usr/local/mysql/data -R
11.配置环境,编辑/etc/profile文件
vim /etc/profile
按a进入编辑模式
直接在最后一行加上
export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
加上之后按一下esc退出编辑模式,再按 :wq 保存并退出
12.编辑my.cnf文件
vi /etc/my.cnf
编辑方法和上一条一样,按a进入编辑模式,直接在内容区中复制粘贴如下内容
[mysql]
default-character-set=utf8mb4
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
server-id=3306
user=mysql
general_log = 1
general_log_file= /var/log/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/data
log-bin=/usr/local/mysql/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
Disabling symbolic-links is recommended to prevent assorted security risks
Settings user and group are ignored when systemd is used.
If you need to run mysqld under a different user or group,
customize your systemd unit file for mariadb according to the
instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/data/mysql.log
pid-file=/usr/local/mysql/data/mysql.pid
include all files from the config directory
添加完后 按esc 再按 :wq保存并退出
13.切换到/usr/local/mysql/mysql-8.0/bin目录下
cd /usr/local/mysql/mysql-8.0/bin
14.初始化基础信息,得到数据库的初始密码
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/data/ --initialize
初始密码如下,先复制一下
- 进入/usr/local/mysql/mysql-8.0目录
cd /usr/local/mysql/mysql-8.0
16.复制 mysql.server 文件
cp -a ./support-files/mysql.server /etc/init.d/mysql
cp -a ./support-files/mysql.server /etc/init.d/mysqld
17.赋予权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld
18.检查一下/var/lib/mysql是否存在,否则进行创建
mkdir /var/lib/mysql
然后再赋予权限
chown -R mysql:mysql /var/lib/mysql/
19.启动数据库,有SUCCESS或者OK字眼说明MySQL安装完成
service mysql start
二、修改密码
1.首先进入mysql安装目录下的bin目录,然后从此目录进入cmd执行下面代码跳过权限验证:
mysqld --shared-memory --skip-grant-tables
2.然后在次目录下新启一个cmd输入
mysql -u root -p
3.会提示输入密码,
输入后直接回车就行(输入密码时不会显示),进入mysql命令
接下来:
use mysql;
先刷新权限
flush privileges;
然后是8.0以上的版本用的修改密码的命令,8.0以上得到用:
alter user '用户名'@'localhost' identified by '新密码';
再刷新权限,让新密码生效:
flush privileges;
这样密码就修改完毕