linux中mysql的操作

 

1.mysql的源码安装

 http://my.oschina.net/looly/blog/297980

 

(1)注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,

 

否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

(2)装完mysql后在linux中不会出现mysql命令,需要在/etc/profile中添加如下配置

PATH=/usr/local/mysql/bin:$PATH

export PATH

保存后,还需执行source /etc/profile文件才能生效

 

 

 

 

linux中添加mysql的用户

 

1)以root用户登录
#mysql -u root -p

2)插入新用户,host:%;user:jason;pssword:jason
mysql>insert into mysql.user (host,user,password) values('%','jason',PASSWORD('jason'));

注:

当host为%时表示允许远程访问,如果想允许本地访问,则还要插入一条记录,同上,但要将%賛换成localhost;

3)更新密码
mysql>update user set password=password('jason') where user='jason'

新版的

updateuserset authentication_string=password('123qwe')whereuser='root'andHost = 'localhost';

4)授予权限
mysql>GRANT ALL PRIVILEGES ON *.* TO username@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
其中neuzjs为数据库名;

5)刷新权限
mysql>flush privileges; 

 

linux中mysql如果忘记了root密码,该如何操作:

 

  1. #killall mysqld 
  2. #mysqld_safe --skip-grant-tables& 
  3. mysql -u root mysql;
  4. mysql> UPDATE user SET passwordpassword ("newPWD"WHERE user='root'
  5. mysql> FLUSH PRIVILEGES
  6. mysql> quit; 
  7. #killall mysqld 
  8. #service mysqld restart 

 

 

 

 

mysql中导入数据

mysql>show databases;

mysql>use xxxx;

mysql> source   xxx.sql;

 

mysql中数据库的备份

mysqldump -u 用户名  -p  数据库 >  xxx.sql;

如:mysqldump  -u  root  -p  z_p2p_quartz  >  /home/p2padmin/quartzDump.sql

 

mysql数据库的定时备份

1.首先修改/etc/my.cnf

 

[mysqldump]

user=your_backup_user_name

password=your_backup_password

修改完配置文件后, 只需要执行mysqldump 脚本就可以了。备份脚本中不需要涉及用户名密码相关信息

不然执行时会出现

Warning: Using a password on the command line interface can be insecure

2.which mysqldump 查找mysqldump命令,在crontab中mysqldump命令要写绝对路径,不然识别不了

2.vi backup_mysql.sh

/usr/local/mysql/bin/mysqldump  dandelion_qianhai > /root/mysql_backup/dandelion_qianhai`date '+%Y%m%d'`.sql

3.crontab -e

0 2 * * * /root/mysql_backup/backup_mysql.sh

 

 

解决步骤:

  1. 升级mysql到5.5以上,即建库时可以使用utf8mb4编码。
  2. 更改mysql设置,更改/etc/my.cnf配置文件。 
    在[client]加入default-character-set=utf8mb4; 
    在[mysqld]加入character_set_server = utf8mb4;
  3. 重启mysql数据库。把要插入特殊表情的数据库、表、字段的编码改成utf8mb4

查看当前所有连接

show status、show processlist 可以看到当前对mysql连接的processes

 

 

MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看

 

mysql> show variables like 'max_connections';

 

 

要对 mysql 的最大连接数进行修改,只需要在 my.cnf 配置文件里面修改 max_connections 的值,然后重启 mysql 就行。如果 my.ini 文件中没有找到 max_connections 条目,可自行添加以下条目


max_connections = 200

在MySQL数据库中查看当前事务的隔离级别:

 

select @@tx_isolation;

 

 

在MySQL数据库中设置事务的隔离 级别:

 

set tx_isolation=’隔离级别名称;’

 

 

 

 

1、查看该用户是否有远程登录的权限

 

===

mysql> SELECT * FROM mysql.user;
+-----------+-----------+
| User | Host |
+-----------+-----------+
| M | % |
| mysql.sys | localhost |
| root | localhost |
| tommy | % |
| showhilllee | % |
+-----------+-----------+
5 rows in set (0.00 sec)

很显然,M是允许从其它服务器登陆的。

2、查看 MySQL Server 是不是监听了 3306 端口

===

执行命令netstat -tulpen

netstat -tulpen

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 16801 1507/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 17222 1970/master
tcp6 0 0 :::3306 :::* LISTEN 27 46396 22054/mysqld
tcp6 0 0 :::22 :::* LISTEN 0 16803 1507/sshd
tcp6 0 0 ::1:25 :::* LISTEN 0 17223 1970/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 49600 22999/dhclient
udp 0 0 0.0.0.0:43504 0.0.0.0:* 0 48850 22999/dhclient
udp6 0 0 :::47875 :::* 0 48851 22999/dhclient

我在这里也没有问题。

这里如果没有监听3306端口或者只监听了localhost(0.0.0.0表示监听所有),则在my.cnf添加下面这一行

bind-address = 0.0.0.0

3、如果服务器是 CentOS7,将 MySQL 服务加入防火墙

===

执行命令

sudo firewall-cmd --zone=public --permanent --add-service=mysql

返回success。然后继续执行

sudo systemctl restart firewalld

我的重启防火墙之后就能正常访问了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值