linux 编译安装mysql5.5

来源:互联网 发布:招生管理系统数据库 编辑:程序博客网 时间:2024/06/02 20:34
一,安装过程
//创建mysql安装目录,创建数据存放目录,创建用户和用户组与赋予数据存放目录权限
mkdir -p /usr/local/mysql/
mkdir -p /data/mysql/    
groupadd mysql
useradd -g mysql mysql
chown mysql:mysql -R /data/mysql/
//安装cmake (mysql5.5以后是通过cmake来编译的)
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./configure
gmake  (或make)
make install
//安装mysql
下载mysql-5.5.16.tar.gz(已经下载在本地 H:\linux下软件安装包\)
tar zxvf mysql-5.5.16.tar.gz
cd mysql-5.5.16
用cmake进行编译:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 
make
make install
//如果没有出现报错,安装完成
 


二、mysql安装后的设置和测试;
//复制配置文件
cp support-files/my-medium.cnf /etc/my.cnf  或者cp support-files/my-default.cnf /etc/my.cnf
//初始化数据库  (必须的,很重要)
chmod 755 scripts/mysql_install_db
scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/ 
//设置mysqld的开机启动
cp support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig mysql on


//配置环境 (为了方便,将mysql 的bin目录加到PATH中,在/etc/profile中加入myslq/bin,顺便增加两个别名方便操作)
编辑:gedit /etc/profile
export PATH=/usr/local/mysql/bin:$PATH 
//开关客户端 
alias mysql_start="mysqld_safe &"
alias mysql_stop="mysqladmin -uroot -p shutdown"
//启动mysql服务
/etc/init.d/mysql start
/etc/init.d/mysql restart
//查看是否启动
ps -ef |grep mysqld
设置root帐户的密码
mysqladmin -u root password '123456'
或者mysqladmin -u root flush-privileges password "123456"


删除本机匿名连接的空密码帐号
mysql -u root -p
use mysql;
update user set password='root' where user = '127.0.0.1';     //给本地账户设置一个密码
update user set password=PASSWORD("123456")where user="root";
delete from user where password="";    //删除空密码
flush privileges;                      //使设置生效


三、实现MySQL远程连接的实际操作流程
1、开启远程端口:编辑/etc/mysql/my.cnf 把bind-address=127.0.0.1注释掉
2、给用户访问权限
mysql -u root -p 
use mysql;
select user,password,host from user; 
update user set host = '%' where user = 'root'   limit 1;  //设置本地用户可以在任何终端登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; //给root远程登录的权限

FLUSH PRIVILEGES;                                              //使设置生效

重启mysql或者电脑即可生效。

四、mysql设置只允许局域网登录

1、开启远程端口:编辑/etc/mysql/my.cnf 把bind-address=127.0.0.1注释掉
2、给用户访问权限

mysql -u root -p 
use mysql;
select user,password,host from user; 
update user set host = '192.168.%' where user = 'root' limit 1;   //设置本地用户可以在局域网登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'mysql0774mysql' WITH GRANT OPTION;  //授权
FLUSH PRIVILEGES;        //或者重启mysql

五、mysql创建用户和分配所有权限
1、sql创建法:insert into user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("localhost","root",password("mysql0774mysql"),'','',''); 
2、创建用户hadoop 密码mysql0774mysql 允许登录主机localhost
create user 'hadoop'@'localhost' identified by 'mysql0774mysql';
grant all privileges on *.* to hadoop@'localhost';
FLUSH PRIVILEGES;        //或者重启mysql

修改登录主机为局域网,重启mysql生效。
update user set host = '192.168.%' where user = 'hadoop' limit 1;  
FLUSH PRIVILEGES;        //或者重启mysql


创建用户hadoop 密码mysql0774mysql 允许登录主机127.0.0.1
create user 'hadoop'@'127.0.0.1' identified by 'mysql0774mysql';
grant all privileges on *.* to hadoop@'127.0.0.1';
FLUSH PRIVILEGES;        //或者重启mysql


创建用户hadoop 密码mysql0774mysql 允许登录主机192.168.%
create user 'hadoop'@'192.168.%' identified by 'mysql0774mysql';
grant all privileges on *.* to hadoop@'192.168.%';
FLUSH PRIVILEGES;        //或者重启mysql


不行就试试下面的
GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'127.0.0.1' IDENTIFIED BY 'mysql0774mysql' WITH GRANT OPTION; 
FLUSH PRIVILEGES;        //或者重启mysql

六、mysql忘记root密码:
/etc/init.d/mysql stop 或者/etc/init.d/mysqld stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql

进入mysql命令界面
UPDATE user SET Password=PASSWORD('123456') where USER='root';
FLUSH PRIVILEGES;
exit;

重启mysql
/etc/init.d/mysql restart 或者 /etc/init.d/mysqld restart
mysql -uroot -p
Enter password: 新的密码


创建utf8数据库

CREATE DATABASE `rman` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

create database springmvc default character set utf8;

jdbc:

 jdbc:mysql://127.0.0.1:3306/fuck?useUnicode=true&characterEncoding=UTF-8&createDatabaseIfNotExist=true

jdbc:mysql://127.0.0.1:3306/fuck?useUnicode=true&characterEncoding=UTF-8&createDatabaseIfNotExist=true

附上MySQL下载地址:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz

参考http://hi.baidu.com/caoxin_rain/item/a49b8cd5c39daf49fa57686b

附上mysql完全卸载的方法:针对window用户卸载之后重装不成功。

彻底卸载mysql:http://blog.sina.com.cn/s/blog_6fc5bfa90100qmr9.html




0 0