乐趣区

关于linux:Centos安装MySQL8学会这招全版本通吃

官网下载 MySQL8.0

创立存储目录,并解压文件

mkdir -p /data
cd /data
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql-8.0.23
cd mysql-8.0.23/
pwd
# 不便前面拷贝门路

装置必要依赖

这一步能够省略,如果前面装置报错再回来装置也能够

yum -y libaio install ncurses-compat-libs

开始装置

cd /usr/local
ln -s /data/mysql-8.0.23 mysql
cd mysql
mkdir mysql-files
# 给 MySQL 用户受权
chown mysql:mysql mysql-files
chmod 750 mysql-files
# 初始化,留神这里会输入 root 用户的默认明码,切记拷贝下来
# A temporary password is generated for root@localhost: XXX
bin/mysqld --initialize --user=mysql
bin/mysql_ssl_rsa_setup
# 启动利用
bin/mysqld_safe --user=mysql &
# 增加到开机启动
cp support-files/mysql.server /etc/init.d/mysql.server

增加环境变量

vim /etc/profile
# 在文件开端增加以下命令
export PATH=/usr/local/mysql/bin:$PATH
# :wq 保留并退出
source /etc/profile

重置 mysql 初始密码

必须进行明码的重置操作,不然不能应用

mysql -u root -p
# 输出方才记住的明码登录
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
mysql> flush privileges;
mysql> exit 
# 退出应用新密码登录,如果遗记明码,删除 mysql 目录下的 data 目录从新初始化

开启近程登录

mysql> use mysql;
# 从 user 表中列出所有 user,host 此时显示的 root 用户的 host 为 localhost
mysql> select user,host from user;
# 批改 root 用户的 ip 地址为 %
mysql> update user set host='%' where user = 'root'
# 从 user 表中列出所有 user,host 此时显示的 root 用户的 host 为 %
# 刷新权限信息使更新失效 
mysql> flush privileges;
# 退出 mysql
mysql> exit;

测试连贯

这里举荐应用 IDEA 自带的 database 组件,后续再出篇文章具体介绍。

如果不能连贯请查看服务器防火墙设置,如果防火墙敞开状态查看云服务器的平安组设置。

MYSQL 编码

mysql> show variables like 'character%';
+--------------------------+------------------------------------+
| Variable_name            | Value                              |
+--------------------------+------------------------------------+
| character_set_client     | utf8mb4                            |
| character_set_connection | utf8mb4                            |
| character_set_database   | utf8mb4                            |
| character_set_filesystem | binary                             |
| character_set_results    | utf8mb4                            |
| character_set_server     | utf8mb4                            |
| character_set_system     | utf8                               |
| character_sets_dir       | /data/mysql-8.0.23/share/charsets/ |
+--------------------------+------------------------------------+
8 rows in set (0.02 sec)

从上图中能够看到 MySQL 有六处应用了字符集,别离为:client、connection、database、results、server、system。其中与服务器端相干:database、server、system(永远无奈批改,就是 utf-8);与客户端相干:connection、client、results。

  • client 为客户端应用的字符集。
  • connection 为连贯数据库的字符集设置类型,如果程序没有指明连贯数据库应用的字符集类型则依照服务器端默认的字符集设置。
  • database 为数据库服务器中某个库应用的字符集设定,如果建库时没有指明,将应用服务器装置时指定的字符集设置。
  • results 为数据库给客户端返回时应用的字符集设定,如果没有指明,应用服务器默认的字符集。
  • server 为服务器装置时指定的默认字符集设定。
  • system 为数据库系统应用的字符集设定。

不管学习什么,倡议从官方网站寻找答案。

退出移动版