手动编译MySQL

下载mysql源码包

解压到/usr/local 目录下 tar xf mysql-5.5.28.tar.gz -C /usr/local

cd /usr/local

ln -sv mysql-5.5.28 mysql

cd /mysql

groupadd -r -g 306 mysql 大于500就不是系统用户了

useradd -g 306 -r -u 306 mysql

chown -R mysql.mysql /usr/local/src/mysql-5.5.4-m3-linux2.6-x86_64

chown -R mysql.mysql /usr/local/mysql 

chown -R mysql.mysql /usr/local/mysql/* 

chmod +w /usr/local/mysql

在mysql目录下scrips 下 有初始化脚本

     初始化结果默认保存在data目录里

创建一个逻辑卷  fdisk /dev/sda  

                         n  

                         4

                         +20G

                         t

                         8e

                          w

partprobe /dev/sda

创建物理卷:pvcreate /dev/sda4

创建卷组:vggreate myvg /dev/sda4

          lvcreate -n mydata -L 5G myvg

lvs

mke2fs -j /dev/myvg/mydata

mkdir /mydata

vim /etc/fstab

        /dev/myvg/mydata    /mydata    ext3    defaults 0 0

mount -a && mount

mkdir /mydata/data数据目录

chown -R mysql.mysql /mydata/data/  

chmod o-rx /mydata/data/   其他用户 不能有执行写权限

执行初始化脚本,站在/usr/local/mysql 目录下

          scripts/mysql_install_db --user=mysql --datadir=/mydata/data    

chown -R root /usr/local/mysql/* 将数主改回root用户 

因为我们已经做了lvm将数据文件的存储位置改了 所以mysql下的data属主不必须是mysql

在support-file目录下有mysql.server 启动脚本

cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld  添加进服务 

此时mysql没有配置文件

     先找/etc/my.cnf

   找不到再找/etc/mysql/my.cnf

   再找不到 /$BASEDIR/my.cnf

 咱们在 support中  head my-huge.cnf找一个适合自己内存的配置文件

   cp support-files/my-lar ge.cnf /etc/my.cnf

  还要进行修改

   在[mysqld]中

         --port 端口

         --socket 当你用不同的方式安装mysql的时候,要确定mysql.soc路径要对

         --thread_concurrency = 8 线程并发量,最多启动多少个mysql线程,一个线程占一个CPU,一般是cpu的个数乘2 (cat /proc/cpuinfo 查看cpu的个数)

  **添加一行** datadir = /mydata/data指定数据目录,假如没有做lvm就不用加了;这一切都是我自找麻烦

启动:service mysqld start

vim/etc/profile.d/mysql.sh                                                               export PATH=$PATH:/usr/local/mysql/bin     重启

##########################################################

mysql服务器维护了两类变量

     服务器变量

         定义mysql服务器运行特性

             show global variables

     状态变量

         保存了mysql服务器运行时候的统计数据

              show global status

mysql通配符:

      _:任意单个字符

      %:任意长度的任意字符

##############################

显示数据库的版本号:

      select version();

显示当前默认的数据库

      select database();

查看当前登录的用户

      select user();

查看含有select的运行状态变量

      select global status like '%select%'

#################33#################################

调优mysql就是调:

    show global variables [like 'string']

查看调优之后性能是否提升

   show global status [like 'string']

###################################################

创建库文件

    vim /etc/ld.so.conf.d/mysql.conf

       填写: /usr/local/mysql/lib

        ldconfig -v重新读取库文件

输出头文件

      cd /usr/local/mysql

           ln -sv /usr/local/mysql/include /usr/include/mysql



你可能感兴趣的:(mysql,用户,local)