MySQL数据库基础与安装实战 第二
社区版和商业版
区别:
商业:由官方维护,专人测试再发报,稳定性好。不遵守GPL协议
社区:免费,由全国爱好者开发,测试,社区也会设置BUG汇报 机制,但与商业版相比,社区版开发 和测试不严格。遵守GPL协议。
两种版本性能 差别不大。
——————————————————————————————————————————
四种发布版
1)Alpha版
一般只在开发 公司内部运行,不对外公开
2)Beta版
一般是完成功能开发 和所有 测试工作之后 产品,不会存在较大功能或性能 BUG
3)RC版
属于生产环境发布之前 的一个小版本或称候选版
4)GA版
软件正式发布称正式版本。
——————————————————————————————————
互联网公司 使用mysql 5.5较多
————————————————————————————————————————————————————
Mysql 版本选择最终建议
企业生产场景选择MYSQL 数据库建议
1、选择开源社区版的稳定版GA版本
2、可以选择5.1或5.5。互联网公司主流5.5,其次是5.1和5.6
3、选择mysql的GA版发布后6个月以上的GA
4、选择前后几个月没有大的BUG修改版本,而不是大量修改BUG版本
5、最好向后较长 时间没有更新发布版本
6、考虑开发 人员开发 程序使用版本是否兼容
7、内部开发 测试的数据库环境,跑大概3-6个月时间。
8、优先企业非核心业务采用新版本数据库GA版本软件
9、向DBA高手请教,或者在及技术氛围好的群里和大家一起交流,使用真正高手用过好用的GA版本
10、经过上述工序后,若是没有重要功能BGU或性能 瓶颈,则可以开始考虑为任何业务数据服务的后端
数据库软件。
——————————————————————————
mysql 四种安装 方法
1、yum 安装
适合对数据库要求 不高场合,例如并发不大,公司内部,企业内部的一场景
大的门户把源码根据企业需求制作成rpm,自己搭建yum仓库,yum install xxx -y
2、常规方式编译安装mysql
第一最正宗产品线5.1及之前 版本
configure ,make ,make install
3、采用cmake 方式编译安装mysql
由于 msyql 5.5 - 5.6产品特殊性,所以编译方式也和早期产品安装方式不同,采用cmake或gmake方式编译安装。即 cmake ; make ; make install ,
4、使用二进制 免编译安装mysql
和yum / rpm包方式类似,适合各类mysql产品系列,不需要复杂编译设置及编译时间等待,直接解压下载软件 包,初始化可完成mysql 安装
yum/rpm 安装适合对数据库要求 不太高场合,例如并发不大,公司内部,企业内部的一些应用场景。二进制免安装比较简单方便,适合5.0-5.1和5.5-5.6系列,是很多专业DBA选择,普通 linux运维人员多采用编译方式,5.0-5.1系列就是常规编译方式,5.5-5.6系列是cmake编译方式。
首先是选择5.5以上版本,安装 方式机器数量 少话,推荐cmake编译方式,这是大多运维人员选择,数量多就用二进制免安装,也是没有问题的,这些某些DBA偏爱。
5.5cmake编译方式 全部安装过程
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方式的安装就算成功了。
#复制配置文件
[root@agent ~]# cd /tmp/
[root@agent tmp]# cp mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
#配置环境变量 (备注把/application/mysql/bin:放前,是避免输入mysql时调用了yum安装那个mysql
echo 'export PATH=/application/mysql/bin:$PATH' >> /etc/profile
tail -l /etc/profile
source /etc/profile
echo $PATH
#授权
chown -R mysql.mysql /application/
chown -R mysql.mysql /application/mysql/data/
# 1 就粘贴位
chown -R 1777 /tmp/
#初始化
cd /application/mysql/scripts
./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
初始化成功看结果 有installing mysql system tables...
OK
Filling help tables ...
OK
初始化后,输出以下信息
__________________________________________________________________
Installing MySQL system tables...
OK
Filling help tables...
OK
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:
/application/mysql//bin/mysqladmin -u root password 'new-password'
/application/mysql//bin/mysqladmin -u root -h agent.domain.com password 'new-password'
Alternatively you can run:
/application/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 /application/mysql/ ; /application/mysql//bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /application/mysql//mysql-test ; perl mysql-test-run.pl
Please report any problems with the /application/mysql//scripts/mysqlbug script!
_________________________________________________________________________________
#复制脚本
[root@agent scripts]# cd /tmp/mysql-5.5.32
[root@agent scripts]#/bin/cp support-files/mysql.server /etc/init.d/mysqld
#添加执行权限
chmod +x /etc/init.d/mysqld
#启动
[root@agent mysql-5.5.32]#/etc/init.d/mysqld start
____________________________________________________
登录后查看
mysql> select user,host from mysql.user;
+------+------------------+
| user | host |
+------+------------------+
| root | 127.0.0.1 |
| root | ::1 |
| | agent.domain.com |
| root | agent.domain.com |
| | localhost |
| root | localhost |
+------+------------------+
6 rows in set (0.00 sec)
mysql> delete from mysql.user where user='';
mysql> delete from mysql.user where host='agent.domain.com';
mysql> delete from mysql.user where host='::1';
mysql>drop database test;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql> quit
Bye
___________________________________________________________
为mysql 增加密码
[root@agent tmp]# /application/mysql/bin/mysqladmin -u root password 'oldboy123'
备注:要修改系统字符集 vi /etc/sysconfig/i18n
[root@agent tmp]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
——————————————————————————————————————————
#设置开机启动
chkconfig mysqld on
chkconfig --list mysqld
[root@agent tmp]# chkconfig mysqld on
[root@agent tmp]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

浙公网安备 33010602011771号