概述
安装mysql8,暂不指定数据目录。
检查是否安装mysql
[root@localhost ~]# yum list installed mysql
错误:没有匹配的软件包可以列出
[root@localhost ~]#
下载tar.xz包
- 如果没有wget(wget是linux中的一个下载文件的工具),先安装wget
yum install -y wget
- 找到官方的安装包
mysql下载地址
- 先查看glic的版本
[root@localhost ~]# yum list installed glibc
已安装的软件包
glibc.x86_64 2.28-42.el8.1 @anaconda
[root@localhost ~]#
- 我的版本比较高,所以选择下面mysql版本
- 复制现在链接
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz - 开始下载
[root@localhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz
--2021-06-27 18:05:08-- https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz
正在解析主机 dev.mysql.com (dev.mysql.com)... 137.254.60.11
正在连接 dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz [跟随至新的 URL]
--2021-06-27 18:05:09-- https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz
正在解析主机 cdn.mysql.com (cdn.mysql.com)... 184.26.157.95
正在连接 cdn.mysql.com (cdn.mysql.com)|184.26.157.95|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:51235496 (49M) [text/plain]
正在保存至: “mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz”
mysql-8.0.25-linux-glibc2.17 100%[===========================================>] 48.86M 5.71MB/s 用时 9.2s
2021-06-27 18:05:19 (5.30 MB/s) - 已保存 “mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz” [51235496/51235496])
[root@localhost ~]#
- 移动mysql并解压
[root@localhost ~]# tar -xvf mysql-8.0.25-linux-glibc2.17-x86_64-minimal.tar.xz
[root@localhost ~]# mv mysql-8.0.25-linux-glibc2.17-x86_64 /usr/local/mysql
- 创建mysql用户并分配权限
# 创建mysql组
[root@localhost]# groupadd mysql
# 创建mysql用户,并指定mysql用户组
[root@localhost]# useradd -g mysql mysql
# 将目录 mysql 的拥有者设为 mysql,群体的使用者mysql
[root@localhost]# chown mysql:mysql /usr/local/mysql
# 分配用户权限
[root@localhost]# chmod 750 /usr/local/mysql/
[root@localhost l]# ll /usr/local/ | grep mysql
drwxr-x---. 3 mysql mysql 57 6月 27 18:13 mysql
初始化数据目录
- windows上安装没经历过初始化数据目录,只是会有一个初始化密码需要更改
所以我们是必须初始化数据目录的。 - 初始化数据目录之前记得安装一下libaio库。
# 已经安装过就不需要安装了
[root@localhost mysql]# yum list intalled libaio
上次元数据过期检查:1:23:42 前,执行于 2021年06月27日 星期日 17时10分34秒。
已安装的软件包
libaio.x86_64 0.3.110-12.el8 @anaconda
可安装的软件包
libaio.i686 0.3.112-1.el8 BaseOS
libaio.x86_64 0.3.112-1.el8 BaseOS
[root@localhost mysql]#
- 初始化并指定据库目录和文件由mysql登录帐户拥有。
[root@localhost mysql]# bin/mysqld --initialize --user=mysql
2021-06-27T10:37:15.786813Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.25) initializing of server in progress as process 3504
2021-06-27T10:37:15.796813Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-06-27T10:37:17.119218Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
# TfAgK4g.5gZC 就是临时密码
2021-06-27T10:37:19.096487Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: TfAgK4g.5gZC
[root@localhost mysql]#
root是登陆用户,TfAgK4g.5gZC是初始化密码
测试mysql服务器
- 启动Mysql服务器(以Mysql用户的身份启动)
[root@localhost mysql]# bin/mysqld_safe --user=mysql &
[1] 3603
[root@localhost opt]# ps -ef|grep mysql
root 3603 2655 0 18:42 pts/0 00:00:00 /bin/sh bin/mysqld_safe --user=mysql
mysql 3685 3603 0 18:42 pts/0 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.centos8.err --pid-file=localhost.centos8.pid
root 3747 3018 0 18:45 pts/1 00:00:00 grep --color=auto mysql
- 登陆服务器
报错直接yum install libncurses* 就可以了。
[root@localhost mysql]# bin/mysql -u root -p
bin/mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[root@localhost mysql]# yum install libncurses*
上次元数据过期检查:1:42:17 前,执行于 2021年06月27日 星期日 17时10分34秒。
Package ncurses-libs-6.1-7.20180224.el8.x86_64 is already installed.
依赖关系解决。
=================================================================================================================
软件包 架构 版本 仓库 大小
=================================================================================================================
Installing:
ncurses-c++-libs x86_64 6.1-7.20180224.el8 BaseOS 58 k
ncurses-compat-libs x86_64 6.1-7.20180224.el8 BaseOS 331 k
事务概要
=================================================================================================================
安装 2 软件包
总下载:389 k
安装大小:1.3 M
确定吗?[y/N]: y
下载软件包:
(1/2): ncurses-c++-libs-6.1-7.20180224.el8.x86_64.rpm 50 kB/s | 58 kB 00:01
(2/2): ncurses-compat-libs-6.1-7.20180224.el8.x86_64.rpm 248 kB/s | 331 kB 00:01
-----------------------------------------------------------------------------------------------------------------
总计 135 kB/s | 389 kB 00:02
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
Installing : ncurses-compat-libs-6.1-7.20180224.el8.x86_64 1/2
Installing : ncurses-c++-libs-6.1-7.20180224.el8.x86_64 2/2
运行脚本 : ncurses-c++-libs-6.1-7.20180224.el8.x86_64 2/2
验证 : ncurses-c++-libs-6.1-7.20180224.el8.x86_64 1/2
验证 : ncurses-compat-libs-6.1-7.20180224.el8.x86_64 2/2
已安装:
ncurses-c++-libs-6.1-7.20180224.el8.x86_64 ncurses-compat-libs-6.1-7.20180224.el8.x86_64
完毕!
# 密码用初始化密码即可
[root@localhost mysql]# bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.25
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
- 修改登陆密码
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
- 退出mysql,关闭mysql服务,再次启动登陆
注意使用新密码:123456登陆
[root@localhost mysql]# bin/mysqladmin -u root -p shutdown
Enter password:
2021-06-27T11:09:05.528904Z mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.centos8.pid ended
[1]+ 已完成 bin/mysqld_safe --user=mysql
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]# ps -ef|grep mysql
root 4034 2655 0 19:09 pts/0 00:00:00 grep --color=auto mysql
[root@localhost mysql]# bin/mysqld --user=mysql &
[1] 4044
[root@localhost mysql]# 2021-06-27T11:10:22.449861Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.25) starting as process 4044
2021-06-27T11:10:22.464294Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-06-27T11:10:22.608140Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-06-27T11:10:22.694587Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock
2021-06-27T11:10:22.770342Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2021-06-27T11:10:22.770492Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2021-06-27T11:10:22.785451Z 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: '8.0.25' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server - GPL.
[root@localhost mysql]#
[root@localhost mysql]#
[root@localhost mysql]# bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.25 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
设置数据库用ip地址访问
mysql> select @@VERSION;
+-----------+
| @@VERSION |
+-----------+
| 8.0.25 |
+-----------+
1 row in set (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
ERROR 1410 (42000): You are not allowed to create a user with GRANT
mysql> create user 'root'@'%' identified by '123456';
ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%'
mysql> select User,Host from user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)
mysql>
mysql>
mysql>
mysql>
# 高版本需要使用下面授权语句而不是:"grant all privileges on *.* to "root"@"%" identified by "xxxxx";"
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
测试
参考
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100313.html