目标是在linux上安装mysql,先去http://dev.mysql.com/downloads/mysql/下载,选好平台,我直接下载的Linux - Generic (glibc 2.5) (x86, 64-bit), RPM Bundle,里面server,client都有。
解压后,执行rpm -ivh MySQL-server-***.rpm和rpm -ivhMySQL-client-***.rpm就成功安装了server和client,默认配置文件在/usr/my.cnf,可以修改端口号等。
在/usr/share/mysql/下执行mysql.server start可以启动mysql。
按照提示,安装后在/root/.mysql_secret中有为root生成的随机密码。
1、执行mysql -u root -p随机的密码 进入mysql控制台 (后续执行命令都要以;结尾)
2、set password for 'root'@'localhost' = password('123456'); 改密码
3、至此可以用新密码登录;
默认情况下Mysql只允许本地进入设置,如果需要外部IP连接到mysql(比如用mysql workbench访问mysql,是不行的),需要向mysql数据库里的“user”表里添加相关授权,如下:
1、grant all on *.* to 'root'@'172.16.2.7' identified by '123456';
2、flush privileges;
此时在172.16.2.7上用MySQL workbench可以成功连上服务器上的mysql。
grant语法:
grant 权限名(所有的权限用all) on 库名(*全部).表名(*全部) to ‘要授权的用户名’@’%’(%表示所有的IP,可以只写一个IP) identified by “密码”;
身份检查使用user表(Host, User和Password)3个范围列执行。服务器只有在user表记录的Host和User列匹配客户端主机名和用户名并且提供了正确的密码时才接受连接。
可以用select Host,User from mysql.user;命令查看当前用户。