文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、下载MySQL安装包到/usr/local/software下
- 二、将mysql安装到/usr/local/mysql-5.7.36下
- 三、新建data目录
- 四、新建mysql用户、mysql用户组
- 五、将/usr/local/mysql-5.7.36的所有者及所属组改为mysql
- 六、初始化mysql
- 七、编辑/etc/my.cnf
- 八、开启服务
- 九、设置密码
- 十、连接数据库的时候会报错
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
Linux源码安装Mysql5.7
初始化数据库,连接数据库报错
提示:以下是本篇文章正文内容,下面案例可供参考
一、下载MySQL安装包到/usr/local/software下cd /usr/local/software wget-c https://downloads.mysql.com/archives/get/p/23/file/mysql-test-5.7.36-linux-glibc2.12-x86_64.tar.gz二、将mysql安装到/usr/local/mysql-5.7.36下
解压 tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local 移动 mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.36三、新建data目录
代码如下(示例):
mkdir /usr/local/mysql-5.7.36/data/mysql四、新建mysql用户、mysql用户组
创建mysql用户组
groupadd mysql
创建Mysql用户
useradd mysql -g mysql五、将/usr/local/mysql-5.7.36的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql-5.7.36六、初始化mysql
/usr/local/mysql-5.7.36/bin/mysqld --user=mysql --basedir=/usr/local/mysql-5.7.36/ --datadir=/usr/local/mysql-5.7.36/data --initialize
#如果有警告子类的忽略就行,只要没有error或者faille就代表初始化成功了
#如果出现以下错误,则执行下面的命令来安装numactl,然后再重新执行上面的mysql命令
错误样例
/usr/local/mysql-5.7.36/bin/mysqld: err while loading shared libraries: libnuma.so.1:cannot open shared object file: No such or directory
安装numactl
yum -y install numact1
**注意初始化的时候最后有一行 A temporary password is generated for root@localhost: TyAtzkD,#4K6 TyAtzkD,#4K6:为数据库密码后面要用**
七、编辑/etc/my.cnf[client] default-character-set=utf8 [mysqld] #设置mysql的安装目录 basedir =/usr/local/mysql-5.7.36 #设置mysql数据库的数据存放目录 datadir = /usr/local/mysql-5.7.36/data/mysql #设置端口 port = 3306 socket = /tmp/mysql.sock #设置字符集 character-set-server=utf8 character_set_server=utf8mb4 #日志存放目录 log-error = /usr/local/mysql-5.7.36/data/mysql/mysqld.log pid-file = /usr/local/mysql-5.7.36/data/mysql/mysqld.pid #允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE) sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO #ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION default-storage-engine=INNODB innodb_default_row_format=DYNAMIC innodb_large_prefix=ON innodb_file_format=Barracuda innodb_log_file_size=2G transaction-isolation=READ-COMMITTED八、开启服务
#将mysql加入服务 cp /usr/local/mysql-5.7.36/support-files/mysql.server /etc/init.d/mysql #开机自启 chkconfig mysql on #启动mysql服务 service mysql start九、设置密码
# 登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)
/usr/local/mysql-5.7.36/bin/mysql -u root -p
输入密码:TyAtzkD,#4K6
# 操作mysql数据库
>use mysql;
# 修改密码
>set password=password("root123456");
>flush privileges;
>exit;
十、连接数据库的时候会报错
报错样例
Host ‘192.168.x.1‘ is not allowed to connect to this MySQL server
解决方案:
mysql>update user set host = ‘%’ where user = ‘root’; mysql>flush privileges; mysql>select host, user from user;总结
姨妈型文档,全网唯一。希望可以解决你遇到的问题。



