Linux 安装 mysql 并配置

1、下载

 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

 下载版本:我这里选择的5.6.33,通用版,linux下64位

 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

2、解压

1
2
3
4
#解压
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
#复制解压后的mysql目录
cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql

3、添加用户组和用户

1
2
3
4
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql

4、安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
cd /usr/local/mysql/
mkdir ./data/mysql
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp support-files/my-default.cnf /etc/my.cnf
 
#修改启动脚本
vi /etc/init.d/mysqld
 
#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
 
#启动服务
service mysqld start
 
#测试连接
./mysql/bin/mysql -uroot
 
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql/bin
 
 
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status

5、错误

  5.1 sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题

  解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。

use mysql;
select 'host' from user where user='root'; 
update user set host = '%' where user ='root';
flush privileges; 

  解决2:直接授权

  

 GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

 

  5.2 安装时的一些错误

   

 -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
    解决: yum -y install perl perl-devel

    Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

 

   

 解决:yum -y install libaio-devel

  

6、其他

  6.1 配置环境变量

   

 vi + /etc/profile

    export PATH=....:/usr/local/mysql/bin

7 mysql 开启服务自启动

命令echo "service mysqld start" >> /etc/rc.local

或者进入/etc/目录,直接vim rc.local编辑rc.local文件,在最后一行添加“service mysqld start”,保存退出

 

 

8 mysql初始化密码

因为mysql刚安装好是没有密码的,所以我们要将其设置密码

⑴、刚安装时,root用户是空的,需要修改密码:
  ①mysqladmin -u root password ‘new-password’
  ②或者,登陆后,直接修改用户表里的密码 
    mysql -u root    #用root用户登录
    1. select user,host,password from mysql.user;    查看数据库的用户
    2. use mysql    #切换到mysql表
       set password for root@localhost=password('123456');    #设置指定域名下root账号的密码
       set password for root@域名=password('123456');
    3.或者,更常见的sql操作:
       update user set password=password('123456') where user=‘root@localhost’;

⑵、匿名用户是危险的
      delete from mysql.user where user='';    #删除匿名用户
⑶、退出mysql:  exit;

 

测试

[root@dream ~]mysql -u root #匿名登录,已设置密码或者删除了匿名用户,登陆失败
[root@dream ~]mysql -u root -p  #通过密码用root登录
Enter password: #在这里输入密码123456
[root@dream ~]mysql -u root -p 123456  #显示密码登陆

 

 

9 设置本机远程访问远程服务器的mysql

NaviCat远程连接的权限问题

远程登录会出现如下提示: 
1103 - host xxx.xxx.xxx.xx is not allowed to connec to this mysql server.
或
1045 - Access denied for user 'root'@'192.168.1.11' (using password: YES).

解决方案:

//mysql访问
grant all privileges on *.* to 'root'@'%' identified by '123456';

#其实就是权限问题,设置root在所有域名(%表示任何地址)登陆时,赋给所有权限,密码123456。根据需要可设置更严格些。

上面的123456是你自己设置的密码,远程密码应该要严格一点,否则会不恶意攻破

 

posted on 2017-04-09 16:17  王守昌  阅读(1680)  评论(0编辑  收藏  举报

导航