centos7安装mysql8.0版本(rpm安装)

查看是否自带mariadb
rpm -qa|grep mariadb
然后卸载
rpm -e packagename  --nodeps
下载完整rpm包:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
然后解压:
tar -xvf https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
然后先yum安装一下net-tools库:yum -y install net-tools*
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm
[root@jordy rpm]# rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm
warning: mysql-community-server-8.0.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        libaio.so.1()(64bit) is needed by mysql-community-server-8.0.11-1.el7.x86_64
        libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.11-1.el7.x86_64
        libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.11-1.el7.x86_64
看到报错了,是缺少libaio库:wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
然后安装该库: rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm

然后yum 安装 net-tools* 库

groupadd mysql

useradd -g mysql mysql
到了官方文档时间段了,看下图,图中英文翻译过来就是:
在Unix和Unix系列系统中,有一点是很重要的,那就是确保数据库目录与文件的所有者为mysql登录账户,
以便在你运行mysqld服务的时候,mysql服务可以对这些目录和文件进行读取与写入操作。
如果你是以root身份运行mysqld服务,就需要确认一下,执行如下面显示的包含有--user选项的命令:
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysqld --initialize-insecure --user=mysql
另外,当你是以mysql的账户登录并执行程序的情况下,你可以将--user选项从命令中去掉。
所以我在前面提到过添加mysql用户和mysql用户组,当然这步操作可做可不做。通过官方文档我们可以知道,
如果我是root身份登录Linux系统,可以执行:mysqld --initialize --user=mysql或者mysqld --initialize-insecure --user=mysql。
如果我是以mysql用户登录Linux系统,可以执行:mysqld --initialize或者mysqld --initialize-insecure。
初始化mysql:
mysqld --initialize --user=mysql
启动mysql
systemctl  start  mysqld
查看刚刚初始化生成的临时密码:
vim /var/log/mysqld.log 
*rajC8ykZ:5y
然后登录mysql
mysql -u root -p
登录后> 
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
要求重置密码:
则重置设置下密码,比如111111
>SET PASSWORD = PASSWORD('111111');
>ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
>flush privileges;
但是报错:
mysql> SET PASSWORD = PASSWORD('123456');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PASSWORD('111111')' at line 1
mysql> 

那直接按提示alter吧:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'tangtang';

然后就开始使用吧;

create database study;

use  study;

CREATE TABLE `t_users` (    
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',    
`account` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '登录账号',    
`passwd` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '登录密码',    
`salt` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '注册时生成的salt',    
`nick` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户昵称',    
`truename` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '真实姓名',    
`headimg` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户头像地址', 
UNIQUE KEY `id` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

【大家可搜索并关注我的微信公众号,名称:jordy的世界
后续会有持续更新,更多精彩等着您!】

展开阅读全文

没有更多推荐了,返回首页