mysql安装完毕到开始使用相关配置
- mysql状态查询
ps -aux | grep mysql
如果mysql启动,有3个pid, 一个是mysqld_safe 一个是 mysqld 还有一个是当前命令,
如果mysql未启动,只有一个pid,即为当前命令。 - mysql启动,关闭,重启
知道了mysql的状态,自然牵涉启动和关闭的问题。
service mysql start
service mysql stop
直接mysqld start或者mysqld stop 出现错误 不详,以后再研究。
service mysqld restart - root密码重置
对于刚接手的服务器(比如在阿里租用的服务器)一开始不知道密码,无法登陆,就需要重置一下root密码。步骤如下:
1.关闭mysql服务。service mysqld stop.
2.mysqld –skip-grant-tables 启动mysql服务并关闭权限认证。(此时此窗口卡死)
3.新开终端,mysql (-uroot -p)括号内内容不加,只输入mysql登录到mysql终端。
4.use mysql. 使用mysql数据库系统的mysql数据库。
5.update user set password=password(‘111111’) where user = ‘root’ and host = ‘localhost’;
6.刷新权限 flush privileges;
7.退出mysql, quit。
8.重启mysql服务
9.登录验证。mysql -uroot -p111111.登录成功 新增用户
新增mysql用户。有两种方式。
1.直接操作mysql授权表2.用GRANT语句(推荐方式)。
①登录mysql, mysql -u root -p (需要登陆一个有权限增加用户的账户)
②
示 例 1:GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
增加一个拥有全部权限的账号,此账户 只能本地登录。用户名为 username,密码为password;
示例2:GRANT ALL PRIVILEGES ON *.* TO ‘USERNAME’@’45.43.48.118’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
增加一个拥有全部权限的账号,此账号 允许ip为45.43.48.118的机器远程登录;
示例3:GRANT RELOAD, PROCESS ON *.* TO ‘username’@’localhost’
增加一个只有RELOAD PROCESS权限的账户。 不需要密码登录。
如果想任何远程机器都可以通过账户密码登录,则讲localhost换为%即可;- 尝试远程登录
在远程机器上远程登录服务器上的mysql数据库。有时会出现无法登录的现象。原因可能有如下3点。
1.创建此用户时权限配置问题。查看上一段落即可。
2.查看mysql服务器上网络端口的监听状态。
可使用 ss -tlnp命令查看。如果local Address port下方3306端口前十 127.0.0.1:3306或者3306端口未开启,则mysql只允许服务器本地访问。
则去查看/etc/my.cnf(mysql配置文件,位置不固定,通常在/etc/my.cnf 或者 /etc/mysql/my.cnf), 打开my.cnf配置文件 将 bind-address = 127.0.0.1和skip-networking注释掉然后重启mysql.然后用ss -tlnp查看 如果3306端口之前变成了*:3306就OK了。
3.iptables限制了访问端口
使用iptables -L -n命令 (可能需要sudo权限).查看防火墙没有有ACCEPT 3306端口的访问。如果没有则修改 /etc/sysconfig/iptables 在其中加入-A INPUT -p tcp -m tcp –dport 3306 -j ACCEPT (注意参数大小写)保存之后重启防火墙。应该就OK了。