在linux自带mysql基础上再装新的mysql

来源:互联网 发布:已备案域名出售 编辑:程序博客网 时间:2024/05/18 02:18

预处理:
rpm -q mysql;
rpm -e --nodeps mysql;

1.groupadd mysql
2.useradd -g mysql mysql
3.下载 mysql-standard-5.0.21-linux-i686-glibc23.tar.gz
4.放到/usr/local
5.tar -xvzf mysql-standard-5.0.21-linux-i686-glibc23.tar.gz
6.ln -s mysql****** mysql (将解压后的mysql目录软连接成mysql,或者直接更名为mysql也可,只是以后没办法看mysql版本)
7.chown -R mysql.mysql mysql (一定要带-R)
8.执行一下./scripts/mysql_install_db --user=mysql (注意一定要在/usr/local/mysql目录下执行该命令,不能到scripts下执行mysql_install_db,目录结构有关系)
9.这时将在/usr/local/mysql/data 生成一个用户数据库(mysql)和一个test数据库 (一定要确认)
10.把/etc/my.cnf文件改名或删掉
11.cd /usr/local/mysql/support-file
12.cp mysql.server /etc/rc.d/init.d/mysqld
13.cp my-huge.cnf ../data
14.所有操作都是用root的 
启动mysql用以下两种方式均可
(1)/etc/rc.d/init.d/mysqld start 
(2)service mysqld start
15.修改root密码
 mysqladmin -u root password 'new-password'
16.创建用户,后付所有权限
insert into user(host,user,password) values('localhost','username',PASSWORD('userpassword'));
grant all privileges on username.* to databasename;
flush privileges

17.进入mysql
 mysql -uroot -p770511
18.关闭数据库:
 mysqladmin -uroot -pxxxx -hxxxxxxxxx  shutdown
19(启动,关闭,连接数据库时可能出现 无法找到/usr/lib/mysql/mysql.sock错误,这是因为,机器本身自带的mysql 把socket通信文件指定在/usr/lib/mysql/mysql.sock,这时只要将本身自带的mysql和mysqladmin命令文件删除,并把/usr/local/mysql/bin置入PATH环境变量即可正常使用)

如果你想连接你的mysql的时候发生这个错误:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

解决方法:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmware                                                                
mysql>use mysql;                                                                          
mysql>update user set host = '%' where user = 'root';           
mysql>select host, user from user;                                           


2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;

原创粉丝点击