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.: 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用户登录
. select user,host,password from mysql.user; 查看数据库的用户
. use mysql #切换到mysql表
set password for root@localhost=password(''); #设置指定域名下root账号的密码
set password for root@域名=password('');
.或者,更常见的sql操作:
update user set password=password('') 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 #显示密码登陆
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是你自己设置的密码,远程密码应该要严格一点,否则会不恶意攻破