centos7下安装mysql tar包

1.   cd /usr/local/src
 wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

解压     tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz       

复制     cp -r mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

2、添加系统mysql组和mysql用户 

添加系统mysql组     groupadd mysql

添加mysql用户 useradd -r -g mysql mysql (添加完成后可用id mysql查看)

3、安装数据库

切到mysql目录 cd /usr/local/mysql

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

安装数据库 bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

bin/mysqld: error while loading shared libraries: libnuma.so.1: 安装mysql

如果安装mysql出现了以上的报错信息.这是却少numactl这个时候如果是Centos就yum -y install numactl就可以解决这个问题了.
ubuntu的就sudo apt-get install numactl就可以解决这个问题了

centos7下安装mysql tar包_第1张图片

生成了临时密码

执行以下命令创建RSA private key 

  bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./

修改当前data目录拥有者为mysql用户 chown -R mysql:mysql data

4、配置my.cnf

vim /etc/my.cnf    (直接把下面内容复制上就行)

  1. [mysqld]

  2. character_set_server=utf8

  3. init_connect='SET NAMES utf8'

  4. basedir=/usr/local/mysql

  5. datadir=/usr/local/mysql/data

  6. socket=/tmp/mysql.sock

  7. #不区分大小写 (sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 这个简单来说就是sql语句是否严格)

  8. lower_case_table_names = 1

  9. log-error=/var/log/mysqld.log

  10. pid-file=/usr/local/mysql/data/mysqld.pid

 

添加开机启动     cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld

修改   vim /etc/init.d/mysqld   

添加路径 在46行   

 
  1. basedir=/usr/local/mysql

  2. datadir=/usr/local/mysql/data

centos7下安装mysql tar包_第2张图片

5、启动mysql   service mysqld start 

 加入开机起动    chkconfig --add mysqld  

6、登录修改密码 mysql -uroot -p 上面初始化时的密码

如果出现错误 需要添加软连接  ln -s /usr/local/mysql/bin/mysql /usr/bin

修改密码

用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;

或者直接修改:

alter user user() identified by "123456";

在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

 

解决远程连接mysql错误1130

远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to connect to this MySQL server  
猜想是无法给远程连接的用户权限问题。 
这样子操作mysql库,即可解决。 
 
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'即可 
mysql -u root -p  
mysql;use mysql;  
mysql;select 'host' from user where user='root';  
mysql;update user set host = '%' where user ='root';  
mysql;flush privileges;  
mysql;select 'host'   from user where user='root'; 

退出重启:systemctl restart mysql

第一句:以权限用户root登录  
第二句:选择mysql库  
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)  
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址  
如果这步出错"ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'" 由说明该记录有了,跳过这步
第五句:刷新MySQL的系统权限相关表  
第六句:再重新查看user表时,有修改。。  
重起mysql服务即可完成。 

本文转自:https://blog.csdn.net/z13615480737/article/details/80019881

                  https://www.cnblogs.com/pqy521/p/7111268.html

你可能感兴趣的:(MySQL,Linux)