位置:海鸟网 > IT > mySQL >

Linux mysql安装修改root密码服务

  在向大家详细介绍Linux mysql之前,首先让大家了解下Linux mysql,然后全面介绍Linux mysql,希望对大家有用。

  1. Linux mysql安装:

  $ yum install mysql-server

  2. Linux mysql修改root密码:

  $ mysqladmin -u root password your_new_passwd

  3. 启动Linux mysql服务

  $ /etc/init.d/mysqld start

  4. 添加为系统服务并随之自动启动:

  $ chkconfig --level 2345 mysqld on

  5. 修改防火墙,开启3306端口,使得可以进行远程访问:

  System->Administration->Firewall->Other ports,添加3306端口,一定要把tcp和udp都加上!

  其本质是修改了/etc/sysconfig/iptables文件,也可直接进行修改,按照如下格式:

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

  -A INPUT -m state --state NEW -m tcp -p udp --dport 3306 -j ACCEPT

  6. mysql默认的root用户是不能远程访问的,需要为Linux mysql中添加一个可以远程访问的用户,首先以root用户登录Linux mysql,然后增加一个用户:

  GRANT ALL ON *.* TO your_username@'your_host_name_or_ip_address' IDENTIFIED BY 'your_password'

  这里的ALL表示,所有任何权限(包括增删改等),*.*表示任何数据库中的任何表,也可指定成Linux mysql中的某个数据库甚至某个表,该用户登录后只能对该数据库进行刚刚赋予的操作。your_host_name_or_ip_address是指规定你只能在通过该ip地址远程访问,如果指定任意地址均可访问,则可用通配符%代替。

  比如:GRANT insert ON test.* IDENTIFIED BY 'test'它的含义是,用户可在任意IP地址通过用户名test,密码test登录,登录后,只能对test数据库进行insert操作。

  其本质是在Linux mysql中默认包含了一个Linux mysql的数据库,其中有一个user表,上述GRANT命令其实就是往这个表中添加了一行记录。也可以直接修改这个表达到同样的效果,不过较为麻烦。注意添加密码,可以使用PASSWORD()函数。

  7. 远程登录,以在linux下为例(window下可用Mysql GUI Tools):

  $ mysql -u test -h 192.168.1.111 -p#然后输入密码即可

  8. 解决数据库表插入中文显示乱码问题:

  1)修改/etc/my.cnf文件,找到[mysqld],在后面加入以下行:

  default-character-set = utf8

  同时新建一项,名为[client],在之后插入同上的语句。重启Linux mysql服务。

  2) 对于创建数据库的sql脚本,需要加入以下语句:

  drop database if exists TEST;

  create database TEST default character set utf8;

  这样,Linux mysql默认的字符集被设为UTF-8,所创建表的字符集也变为UTF-8,并且客户端也将以UTF-8显示。