一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

linux中使用yum与make安装mysql方法

时间:2014-07-11 编辑:简简单单 来源:一聚教程网

yum安装mysql

首先,安装mysql。
yum list | grep mysql; 选择合适的版本,yum intall 该版本;
yum list | grep mysql-server;选择合适的版本,yum intall 该版本。
安装完成后,添加 mysqld 服务。
/sbin/chkconfig –-add mysqld [在服务清单中添加mysql服务]
接着开始启动mysql。
service mysqld start;(即/etc/init.d/mysqld start。也可设成开机自启动:/sbin/chkconfig mysqld on)
然后,额。。。出现 “MySQL Daemon failed to start”的信息,怎么办?自己是这样解决的。
1. 初始化数据库
 /usr/bin/mysql_install_db --user=mysql
 cp /usr/share/mysql/my-small.cnf /etc/my.cnf(可选)
2. 以safe方式登录mysql
  cd /usr ;
 /usr/bin/mysqld_safe &
3. 再次启动mysqld服务时就可以了。
下面就是常规的操作了:
  更改 root 密码:  mysqladmin -u root password 'newpassword'
  添加mysql用户: GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'password';
  删除test数据库: mysql -u root -p mysql> DROP DATABASE test;
  删除匿名帐户: DELETE FROM mysql.user WHERE user = '';
  重载权限: mysql> FLUSH PRIVILEGES;
  设置默认编码等一些初始参数(my.cnf)(若无my.cnf, 则可cp /usr/share/mysql/my-small.cnf /etc/my.cnf)
vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-character-set=utf8 [添加]
default-storage-engine=INNODB [添加]
old_passwords=1
[client]
default-character-set=utf8 [添加]
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
如果在其他电脑无法连接,原因是root的host字段为localhost,将其改为%即可。
use mysql
update user set host='%' where host='localhost' and user='root';
flush privileges;

收工!

更新

如要其他机器能访问,在mysql.user中添加一个Host为'%'的user,然后flush
priviledges;,最后防火墙加一句类似这样的语句即可(开通3306端口):

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

如果要reboot自启动:


chkconfig --levels 345 mysqld on


make安装mysql

安装环境:Linux服务器CentOS 5.5

安装版本:mysql-5.5.8.tar.gz

1、安装 cmake 编译器。

1)、下载cmake

#cd /usr/local/src

#wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

2)、解压cmake

#tar -zvxf cmake-2.8.4.tar.gz

3)、配置编译

#cd cmake-2.8.4
#yum -y install gcc
#yum -y install gcc-c++
#yum -y install ncurses-devel
#./configure
#make
#make install

2、安装MySQL

1)、下载MySQL。

#cd /usr/local/src

#wget http://sdk.ruiya.com/linux/mysql-5.5.9.tar.gz

2)、添加必要的组和拥有者

#groupadd mysql

#useradd -r -g mysql mysql

3)、解压MySQL

#tar -zvxf mysql-5.5.9.tar.gz

4)、配置编译

如果是重装MySql,请先删除my.cnf如: rm -rf /etc/my.cnf

#mkdir /usr/local/mysql

#mkdir /usr/local/mysql/data

#cd /usr/local/src/mysql-5.5.9

#cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DINSTALL_DATADIR=/usr/local/mysql/data
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DENABLED_LOCAL_INFILE=1

参数说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data         //数据库存放目录
-DDEFAULT_CHARSET=utf8                        //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci            //校验字符
-DEXTRA_CHARSETS=all                            //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据

#make

#make install

注意事项:

重新编译时,需要清除旧的对象文件和缓存信息。

# make clean
# rm -f  CMakeCache.txt
# rm -rf /etc/my.cnf

4)、设置目录权限

# cd /usr/local/mysql

# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql

# chown -R mysql:mysql data
 

5)、配置文件

# cp support-files/my-medium.cnf /etc/my.cnf //这个配置仅适合小内存系统(32M - 64M)

打开如下注释:

innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data

innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M

innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

添加默认字符集:

[client]
default-character-set = utf8    // 添加编码支持
[mysqld]
default-character-set = utf8   // 添加编码支持
max_connections = 10000     //根据服务器性能调节
basedir = /usr/local/mysql //设置安装目录,这样在系统启动时才能正确运行到/etc/rc.d/init.d/mysql start

6)、创建系统数据库的表

# cd /usr/local/mysql

# scripts/mysql_install_db --user=mysql

7)、设置权限启动

设置环境变量:

# vi /root/.bash_profile

在PATH=$PATH:$HOME/bin添加参数为:

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

#source /root/.bash_profile

手动启动MySQL:

# cd /usr/local/mysql

# ./bin/mysqld_safe --user=mysql &   //启动MySQL,但不能停止

启动日志写在此文件下:/usr/local/mysql/data/localhost.err

关闭MySQL服务

# mysqladmin -u root -p shutdown  //这里MySQL的root用户还没有配置密码,所以为空值。

通过脚本启动MySQL:

# ln -s /usr/local/mysql/support-files/mysql.server /usr/local/mysql
//必须注意,是放在mysql目录下,不是bin目录下
# cp /usr/local/mysql/support-files/mysql.server /usr/local/mysql  
# mysql.server start //启动mysql
# mysql.server stop //停止mysql

在引导时启动MySQL :

# ln -s /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

# ln -s /usr/local/mysql/mysql.server /etc/rc.d/init.d/mysql
# cd /etc/rc.d/init.d
# chkconfig --add mysql       //配置是否自动启动, chkconfig --del mysql 可删除
# chmod +x /etc/rc.d/init.d/mysql    //添加如执行权限


Tips
Linux运行级别:
分成了8种运行级别,其中常用7种。可在/etc/inittab文件中设置。
0 - halt
1 - Single user mode
2 - Multiuser, without NFS
3 - Full multiuser mode
4 - unused
5 - x11
6 - reboot
默认设置为:id:3:initdefault:
每一种动行级别都有自已独立的文件夹,例如:
/etc/rc.d/rc3.d 表示运行级别为3的配置都存放在这个文件侠中。

# chkconfig --list |grep mysql      //检查看是否设置为自启动
mysql           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
表示: 运行级别2、3、4、5都会自动启动mysql

热门栏目