首先在MySQL官网下载MySQL二进制包:
mysql-5.5.34-linux2.6-x86_64.tar
rz命令上传到/export/servers目录下
添加MySQL用户,组
# groupadd mysql
# useradd -g mysql mysql
解压MySQL
#tar -xzvf mysql-5.5.34-linux2.6-x86_64.tar
建一个符号链接
# ln -s mysql-5.5.34-linux2.6-x86_64 mysql
修改权限
#chown -R mysql .
#chgrp -R mysql .
建立MySQL配置文件
support-files下可以看到提供了5个模板,可以根据自己的环境选择。
# ls support-files/
binary-configure magic my-medium.cnf mysql.server
config.huge.ini my-huge.cnf my-small.cnf ndb-config-2-node.ini
config.medium.ini my-innodb-heavy-4G.cnf mysqld_multi.server
config.small.ini my-large.cnf mysql-log-rotate
我这里用my-medium.cnf
# cp support-files/my-medium.cnf /etc/my.cnf
建立数据目录
# mkdir -p /export/data/mysqldata
# chown -R mysql /export/data/mysqldata
# chgrp -R mysql /export/data/mysqldata
修改配置文件
# vi /etc/my.cnf
文件中添加下面一句,设置自己想要的数据目录。默认在./mysql/data下。我的数据目录设置为/export/data/mysqldata
datadir =/export/data/mysqldata
-- {该语句需要加到 [mysqld]数据区域段}
保存退出
初始化
# ./scripts/mysql_install_db --user=mysql
修改权限
drwx------ 2 mysql root 4096 Aug 3 14:45 mysql
-rw-rw---- 1 mysql mysql 19079 Aug 3 14:45 mysql-bin.000001
-rw-rw---- 1 mysql mysql 722735 Aug 3 14:45 mysql-bin.000002
-rw-rw---- 1 mysql mysql 38 Aug 3 14:45 mysql-bin.index
drwx------ 2 mysql root 4096 Aug 3 14:45 test
#chown -R mysql:mysql mysqldata/
drwx------ 2 mysql mysql4096 Aug 3 14:45 mysql
-rw-rw---- 1 mysql mysql 19079 Aug 3 14:45 mysql-bin.000001
-rw-rw---- 1 mysql mysql 722735 Aug 3 14:45 mysql-bin.000002
-rw-rw---- 1 mysql mysql 38 Aug 3 14:45 mysql-bin.index
drwx------ 2 mysql mysql4096 Aug 3 14:45 test
启动MySQL
# ./bin/mysqld_safe --user=mysql &
100117 17:21:34 mysqld_safe Logging to '/export/data/mysqldata/data/b28-1919.jd.com.err'.
100117 17:21:34 mysqld_safe Starting mysqld daemon with databases from /export/data/mysqldata
代表启动成功
设置MySQL密码
# ./bin/mysqladmin -u root password 666666
看看服务是否已启动
# netstat -nat
把MySQL加入环境变量
# echo "export PATH=$PATH:/export/servers/mysql/bin">>/etc/profile
# source /etc/profile //使环境变量生效
# echo $PATH
Linux Mysql 1130错误解决
今天在win32下通过navicat 远程登录Mysql时出现如下错误:
想都不用想,肯定是Mysql的访问权限问题。
首先,通过终端(我用的是SSH)远程登录到Linux服务器,为了安全起见,先改一下Mysql数据的root用户密码:
第二步,查询Mysql中所有用户的权限:
意料之中,mysql的root用户只能通过本机访问,下面我们来改一下权限:
grant all privileges on *.* to 'root'@'%' identified by 'pwd';
mysql> select host from user where user="root";
+-----------+
| host |
+-----------+
| % |
| 127.0.0.1 |
| bogon |
| localhost |
+-----------+
4 rows in set (0.01 sec)