趟过 centos7 下 mysql 8 安装的坑

安装篇

mysql 在centOS7 下安装,要用编译安装

  1. 下载代码
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz
  1. 创建mysql用户组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
  1. 创建mysql的工作目录
# 创建安装目录
mkdir -p /usr/local/mysql
# 创建数据目录
mkdir -p /usr/local/src/data/mysql
# 创建socket目录
mkdir -p /var/lib/mysql
# 创建safe模式日志目录
mkdir -p /var/log/mariadb
# 创建safe模式pid目录
mkdir -p /var/run/mariadb/
# 创建空的safe模式日志
touch /var/log/mariadb/mariadb.log
  1. 解压MySQL安装包
tar -zxf mysql-boost-8.0.13.tar.gz
  1. cmake创建安装文件
cd mysql-8.0.13/
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/src/data/mysql -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/src/mysql8/mysql-8.0.13/boost -DDOWNLOAD_BOOST=1
  1. make安装
make && make install
  1. 修改mysql工作目录的权限
chown -R mysql:msyql /var/lib/mysql
chown -R mysql:mysql /usr/local/src/data/mysql
chown -R mysql:mysql /var/lib/mysql
chown -R mysql:mysql /var/log/mariadb
chown -R mysql:mysql /var/run/mariadb/
chown -R mysql:mysql /var/log/mariadb/mariadb.log

chmod 755 /var/lib/mysql
chmod 755 /usr/local/src/data/mysql
chmod 755 /var/lib/mysql
chmod 755 /var/log/mariadb
chmod 755 /var/run/mariadb/
chmod a+w /var/log/mariadb/mariadb.log
  1. 修改mysql配置
vi /etc/my.cnf
# 改成下面这样,添加没有的,修改已有的,不要删除其他的
[client]
socket = /var/lib/mysql/mysql.sock
[mysqld]
server-id=1
basedir=/usr/local/mysql
datadir=/usr/local/src/data/mysql
  1. 将mysql/bin软连接到/usr/bin,方便实用mysql相关命令
ln -s /usr/local/mysql/bin/* /usr/bin/
  1. 初始化数据库
mysqld --initialize --user=mysql --datadir=/usr/local/src/data/mysql/
# (注意这里会有一个root账号的初始密码,记下来,一会儿要用)
  1. 启动mysqld_safe,修改默认密码
mysqld_safe --user=mysql
# mysql客户端登陆,实施修改
mysql -uroot -p
# (输入刚才记录的root账号的初始密码)
mysql> alter user 'root'@'localhost' identified by "新密码";
mysql> create user root@'%' identified by '123456';
Query OK, 0 rows affected (0.08 sec)
mysql> grant all privileges on *.* to root@'%';
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit;
Bye;
  1. 停掉mysqld_safe
ps -ef | grep mysqld
  1. 注意要kill mysql 账号启动的mysql进程,kill root账号启动没有用
kill 1234

准备正常启动mysql 8

  1. mysql 8 不允许root账号命令行启动mysqld,所以要安装成服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 以服务方式启动
service mysql start
# 将mysql加入系统启动
chkconfig --add mysql
chkconfig mysql on
  1. 用新的root密码登陆
mysql -uroot -p
(输入新密码)

安装成功!

创建数据库篇

创建数据库时,提示1064错误

mysql> create database "testdb";
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 '"testdb"' at line 1

原因是 mysql 的数据库名要用 反单引号包含,修改后成功

mysql> create database `testdb`;
Query OK, 1 row affected (0.04 sec)

连接数据库篇

  1. 用低版本的客户端如 navicat 连接mysql 8 ,提示如下:
ERROR: Client does not support authentication protocol requested by server; consider upgrading MySQL client

修改如下:

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '(你的密码)';
Query OK, 0 rows affected (0.07 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '(你的密码)';
Query OK, 0 rows affected (0.08 sec)

  1. 打开root账号远程登陆
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
#(第一个itoffice表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个itoffice表示密码)
select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | httpwww       |
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
5 rows in set (0.00 sec)
flush privileges; # 执行 flush privileges;命令立即生效
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容