> 数据库 > MySQL >

mysql 禁制远程连接

mysql 5.5安装手记

 

从MySQL5.5 开始就要用cmake安装,本次安装的版本为mysql-5.5.22.tar.gz

#准备工作
yum install -y gcc gcc-c++ libtool autoconf automake imake libxml2-devel expat-devel ncurses-devel cmake bison 

#添加mysql用户、组
groupadd mysql 
useradd -r -g mysql mysql 
mkdir /usr/local/mysql/        #创建mysql安装目录
mkdir /data/mysql               #创建数据存放目录

#配置编译安装mysql
tar zxvf mysql-5.5.13.tar.gz
cd mysql-5.5.13
cmake . \                                        #开始编译 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \      #安装到/usr/local/mysql目录 
-DMYSQL_DATADIR=/data/mysql \                  #数据存放到/data/mysql目录 
-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock \    #sock存放到/data/mysql目录 
-DWITH_INNOBASE_STORAGE_ENGINE=1 \             #innoDB引擎
-DENABLED_LOCAL_INFILE=1 \ 
-DDEFAULT_CHARSET=utf8 \                       #字符集
-DDEFALUT_CHARSETS=all \                       #支持所有字符集
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
-DWITH_PARTITION_STORAGE_ENGINE=1 \ 
-DDEFAULT_COLLATION=utf8_general_ci \          #字符集校验
-DMYSQL_USER=mysql \ 
-DEXTRA_CHARSETS=all \ 
-DMYSQL_TCP_PORT=3306 \ 
-DWITH_DEBUG=0\

make
make install

#改变目录权限
chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql

chown -R mysql /data/mysql
chgrp -R mysql /data/mysql

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --ldata=/data/mysql #初始化数据库

chown -R root /usr/local/mysql

#可选
cp support-files/my-medium.cnf /etc/my.cnf   #复制配置文件 

cp support-files/mysql.server /etc/init.d/mysqld    #复制启动脚本
chmod 755 /etc/init.d/mysqld

#将mysql的启动服务添加到系统服务中  
chkconfig --add mysqld                              #添加系统服务 
chkconfig mysqld on                                 #添加开机启动
chkconfig --levels 245 mysqld off
或
echo "/usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/data/mysql/ &" >> /etc/rc.loacl

export PATH=$PATH:/usr/local/mysql/bin    #添加环境变量 
echo 'PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile 

#启动mysql
service mysqld start/stop 
或
/usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/data/mysql/ & 适用于没有自启动文件的

#启动mysql,看是否成功  
netstat -tnl|grep 3306 

 

手册中提到的安装方法:

  

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/mysql//bin/mysqladmin -u root password 'new-password'
/usr/local/mysql//bin/mysqladmin -u root -h localhost password 'new-password'

Alternatively you can run:
/usr/local/mysql//bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql/ ; /usr/local/mysql//bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql//mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql//scripts/mysqlbug script!

 

默认的mysql安装目录

  

shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions
# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

 

修改默认密码(默认无密码):

    use mysql;
    update user set password=password('123456') where user='root'
    flush privileges;

 

安装过程中的一些说明

  

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/mysql//bin/mysqladmin -u root password 'new-password'
/usr/local/mysql//bin/mysqladmin -u root -h localhost password 'new-password'

Alternatively you can run:
/usr/local/mysql//bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql/ ; /usr/local/mysql//bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql//mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql//scripts/mysqlbug script!

 

#mysql 默认读取配置文件 顺序
/etc/my.cnf ~/.my.cnf /usr/local/mysql/etc/my.cnf 

 

#查看编译参数
sudo cat /usr/local/mysql/bin/mysqlbug|grep configure

 

 提示mysql.sock找不到的解决

原因:

当php连接mysql时如果是本地连接(127.0.0.1 或 localhost )时,会用到 pdo_mysql.default_socket= 参数(如果是pdo连接数据库),
该默认参数为 pdo扩展编译时的参数

[Pdo_mysql]
; If mysqlnd is used: Number of cache slots for the internal result set cache
; http://php.net/pdo_mysql.cache_size
pdo_mysql.cache_size = 2000

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket=

 

 参考文章地址:

http://wowking.blog.51cto.com/1638252/1037609

http://blog.csdn.net/westmaniac/article/details/6535000

 


(责任编辑:IT)