mysql编译安装及常用操作

1.3 安装相关包
1.3.1 cmake软件
cd /home/oldboy/tools/
tar xf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
#CMake has bootstrapped.  Now run gmake.
gmake
gmake install
cd ../

1.3.2 依赖包
yum install ncurses-devel -y

1.4 开始安装mysql
1.4.1 创建用户和组
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql

1.4.2 解压编译MySQL
tar zxf mysql-5.5.32.tar.gz
cd mysql-5.5.32
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
-DMYSQL_DATADIR=/application/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0

#-- Build files have been written to: /home/oldboy/tools/mysql-5.5.32
提示,编译时可配置的选项很多,具体可参考结尾附录或官方文档:
make
#[100%] Built target my_safe_process
make install
ln -s /application/mysql-5.5.32/ /application/mysql
如果上述操作未出现错误,则MySQL5.5.32软件cmake方式的安装就算成功了。


配置环境变量
echo 'export PATH=/u01/application/mysql/bin:$PATH'>>/etc/profile
tail -1 /etc/profile
source /etc/profile
ll /u01/application/mysql/data/
数据文件授权
chown -R mysql.mysql /u01/application/mysql/data/
chmod -R 1777 /tmp/
复制mysql的配置文件my-medium.cnf文件到/etc/my.cnf
cp ~/tools/mysql-5.5.32/support-files/my-medium.cnf /etc/my.cnf
初始化数据库 basedirmysql的安装目录,datadir数据库文件存放路径
/u01/application/mysql/scripts/mysql_install_db  --basedir=/u01/application/mysql --datadir=/u01/application/mysql/data/ --user=mysql

将启动脚本添加到init.d目录下
cp ~/tools/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
设置mysql启动脚本权限,添加执行权限
chmod +x /etc/init.d/mysqld
启动mysql数据库
/etc/init.d/mysqld start
查询端口3306,检查mysql数据库是否正常启动
netstat -lntup|grep 3306

进入mysql客户端,在命令行输入
mysql
select user,host from mysql.user;

修改root用户密码
/u01/application/mysql/bin/mysqladmin -u root password 'root123'

设置开机启动mysql,查看mysql启动项
chkconfig mysqld on
chkconfig --list mysqld
########################################################
 如何启动/停止/重启MySQL
一、启动方式
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:safe_mysqld&
二、停止
1、使用 service 启动:service mysqld stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
3、mysqladmin shutdown
三、重启
1、使用 service 启动:service mysqld restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart
提问 编辑摘要
如何启动/停止/重启MySQL
一、启动方式
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:safe_mysqld&
二、停止
1、使用 service 启动:service mysqld stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
3、mysqladmin shutdown
########################################################

安装多实例的mysql数据库。使用编译的mysql安装文件,初始化多个mysql实例数据文件。/data作为多实例的总目录
目录结构
    data
      3306     实例目录
         data   数据文件目录
         my.cnf
         mysql
      3307    实例目录
         data   数据文件目录
         my.cnf
         mysql
mkdir  -p /data/{3306,3307}/data
        

一般生产硬件配置 mem 32g 双CPU 8核  磁盘6*600g  sas 15k  2-3个实例

对多实例的数据文件目录赋权限,给启动脚本赋予执行权限
chown -R mysql.mysql /u01/data
find |grep mysql|xargs chmod +x
启动脚本的原理
    启动数据库
    mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &
    平滑关闭数据库
    mysqladmin -u root -proot123 -S /data/3306/mysql.sock shutdown

初始化数据库,目的创建基础的数据库文件
./mysql_install_db  --basedir=/u01/application/mysql --datadir=/u01/data/3306/data --user=mysql
./mysql_install_db  --basedir=/u01/application/mysql --datadir=/u01/data/3307/data --user=mysql

启动数据库
/u01/data/3306/mysql start
/u01/data/3307/mysql start

查看mysql数据库是否启动
netstat -lntup|grep 330
客户端登陆mysql
mysql -S /u01/data/3306/mysql.sock
mysql -S /u01/data/3307/mysql.sock

修改mysql数据库的root密码
/u01/application/mysql/bin/mysqladmin -u root -S /u01/data/3306/mysql.sock password 'root123'
/u01/application/mysql/bin/mysqladmin -u root -S /u01/data/3307/mysql.sock password 'root123'

关闭mysql数据库 停止数据库需要系统root密码,需要在mysql脚本中修改系统密码,这样就会暴露系统管理员的密码
/u01/data/3306/mysql stop
/u01/data/3307/mysql stop

修改mysql脚本权限,只能让管理员看到
find ./ -type f -name "mysql"|xargs chmod 700
find ./ -type f -name "mysql"|xargs chown root.root

你可能感兴趣的:(mysql编译安装及常用操作)