第一步:安装cmake工具:
1.下载cmake工具
tar xvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
2.将cmake工具编译到指定位置,示例/usr/local/src
./bootstrap --prefix=/usr/local/src
3.编译>>执行
make
make install
第二步:安装MySQL
1.下载软件包mysql-5.0.22.tar.gz,地址http://www.mysql.com,一般不推荐安装rpm形式的;
2.把下载下来的mysql-5.0.22.tar.gz放在usr目录下并解压:
# tar zvxf mysql-5.0.22.tar.gz
3.# cd mysql-5.0.22 //进入解压缩后的文件目录;
4. 创建mysql组,如果需要可以再创建一个mysql用户,并添加到mysql组,也可以将当前用户添加到mysql组
# /usr/sbin/groupadd mysql //创建mysql组
# /usr/sbin/useradd -g mysql mysql //创建mysql用户
5.安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_EXTRA_CHARSETS:STRING=utf8 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1
5.编译:# make //只是一个make就够了
6.安装:# makeinstall //这两步都要一些时间
7.安装完添加一个mysql用户组并设置权限:
#chmod +w /usr/local/mysql
#chown -Rroot:mysql /usr/local/mysql //demo以root用户为例
8.配置
#cd support-files/
#cp my-large.cnf /var/mysql/my.cnf(如果是debian,my.conf需要放在/etc/mysql/下面)
#cp mysql.server /etc/init.d/mysqld
9.配置启动MySQL,若有需要请先修改 mysql 的配置 my.cnf
vi /var/mysql/my.cnf(配置如下参数,其他的可更具需要配置)
basedir=/usr/local/mysql \
datadir=/usr/local/mysql/data \
user=root
10.mysql 初始化安装
# chmod 777 /usr/local/mysql/data
# scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql
11. 将 mysql 加入开机启动
#chmod +x /etc/init.d/mysqld
#vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容,以下两个参数若在my.cnf文件中配置了,就可忽略该步骤,否则要加上)
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
12.你可以看看你的服务是否已经添加到linux上
[root@localhost ~]# chkconfig --list mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost ~]#
chkconfig --add mysqld
chkconfig --level 345 mysqld on
12. 启动 mysql
/usr/local/mysql/bin/mysqld_safe &
或者 /etc/init.d/mysql start
13.进入mysql
/usr/local/mysql/bin
./mysql -uroot
在shell环境下用mysqladmin程序来设置密码
如 mysqladmin -u root password "your password"
第三步: 配置mysql可远程访问
查询mysql数据库中的User表:select user, host, password from mysql.user;
+---------+----------------+---------------------------------------------------------------------------+
| user | host | password |
+---------+----------------+---------------------------------------------------------------------------+
| root | localhost | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| root | SUSE | |
+---------+----------------+---------------------------------------------------------------------------+
如上结果,设置远程访问有两种方式:
A.直接修改root为可远程访问的用
> use mysql
> update user set host = '%' from user where host = 'localhost ' and user = 'root'
这样做的好处是root用已经具有了l数据库所有权限,所以更新后不用再授权,坏处是通过root用户来远程方位不安全。
B.在user表中添加一个用户(user, host, password这三个字段必须,其他字段不同版本之间有差异,只要是不为空的就都添加进来,把值给我“”即可)
> insert into user(user, host, password, ssl_cipher, x509_issuer, x509_subject) values('mysql','%', password(123), '', '', '');
成功后查询数据:
+---------+----------------+---------------------------------------------------------------------------+
| user | host | password |
+---------+----------------+---------------------------------------------------------------------------+
| root | localhost | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| root | SUSE | |
| mysql | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+---------+----------------+---------------------------------------------------------------------------+
授权刚刚添加的用户
GRANT ALL PRIVILEGES ON database.table TO 'mysql'@'%' WITH GRANT OPTION;
红色部分可修改为要授权的数据名称和表名称。权限也可以指定某些,示例指定了所有权限。
参考资料:
http://zl342622.blog.163.com/blog/static/1730414220117318759411/