标签:解压 登录 grant mysql5.7 linux mysqld usr mysql local
cp support-files/mysql.server /etc/rc.d/init.d/mysql
首先到官网下载tar文件上传到linux 服务器上
解压文件: tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz ;
复制解压文件到 /usr/local目录下 在mysql 更目录下执行 mv mysql-5.7.26 /usr/local/mysql 作用是复制并重命名
3.新建用户组合用户(我也不知道这步的作用,先记录下来)。在mysql 更目录下执行 groupadd mysql useradd -r -g mysql mysql
4.修改mysql根目录用户权限 (我也不知道这步的作用,先记录下来) chown -R mysql . chgrp -R mysql . 或者 cd mysql chown -R mysql:mysql ./
5.新建data 目录 mkdir data 新建完后修改权限 cd data chown -R mysql:mysql ./
6.初始化 MySQL 配置表 ./bin/mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data
这时候直接初始化如果报错 则执行 yum install libaio 中间按 y 回车
检查etc目录下是否有 my.cnf文件,若有则先给它如下配置
[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/usr/local/mysql/tmp/mysql.sock port=3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # skip-grant-tables # Disabling symbolic-links is recommended to prevent assorted security risks # symbolic-links=0 [client] socket=/usr/local/mysql/tmp/mysql.sock [mysqld_safe] #log-error=/var/log/mysqld.log #pid-file=/var/run/mysqld/mysqld.pid basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/usr/local/mysql/tmp/mysql.sock port=3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
在mysql的安装根目录新建tmp文件 同时修改其权限 chown -R mysql:mysql ./
尝试启动mysql service mysql start(启动) service mysql stop(停止) service mysql restart(重启)
若不能正常启动则执行命令(在mysql安装目录执行):
cp support-files/mysql.server /etc/rc.d/init.d/mysql
再次启动;
启动后就是连接数据库,整理介绍无密码登录
在/etc/my.cnf加入代码
[mysqld] skip-grant-tables
然后重启mysql 连接服务 ./bin/mysql -uroot -p 回车,不输入密码直接回车即可登录
下面才是重点,很多时候到这里就出现很难搞定的问题
首先修改 用户登录密码:
update user set authentication_string = ’password’ where user="root" ;
flush privileges;
退出注释掉
[mysqld] #skip-grant-tables
然后重启mysql 服务,再次登录数据库。我这里遇到的问题是
Access denied for user 'root'@'localhost'
解决办法是再次以无密码登录方式登录到数据库执行
mysql> grant all privileges on *.* to root@'%' identified by '密码'; mysql> flush privileges;
发现无密码条件下,没有授权的写权限
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
解决方法:
mysql> set global read_only=0;//(关掉新主库的只读属性)
mysql>flush privileges;
执行上述命令时,我没有遇到这个问题就解决了,这里做个补充
再次退出注释掉
#skip-grant-tables
然后重启服务登录数据库,我这次是成功的,
然后也是重点;修改远程登录权限
mysql> update user set host = ‘%’ where user = ‘root’;
这样就可以在远程登录到数据库了,简要记录,后面遇到问题了再补充。
标签:解压,登录,grant,mysql5.7,linux,mysqld,usr,mysql,local 来源: https://www.cnblogs.com/yunian139/p/10984504.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。