一、简介
MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。有以下特点:
- MySQL是一种数据库管理系统。
- MySQL是一种关联数据库管理系统。
- MySQL软件是一种开放源码软件。
- MySQL数据库服务器具有快速、可靠和易于使用的特点。
- MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。
- 有大量可用的共享MySQL软件。
MySQL表最大能达到多少?
InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。
二、安装MySQL
下载MySQL地址:http://dev.mysql.com/downloads/mysql/
CentOS 安装:
yum install mysql-server
Ubuntu 安装:
1. sudo apt-get install mysql-server 2. sudo apt-get isntall mysql-client 3. sudo apt-get install libmysqlclient-dev # 检测是否安装成功(是否为LISTEN状态) sudo netstat -tap | grep mysql
编译安装MySQL-5.5.32:
# 安装依赖包 yum install ncurses-devel gcc gcc-c++ -y # 创建目录 mkdir -p /home/oldsuo/tools # 安装cmake软件,gmake编译安装 cd /home/oldsuo/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 ../ # 开始安装mysql # 创建用户和组 groupadd mysql useradd mysql -s /sbin/nologin -M -g mysql # 解压编译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/oldsuo/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方式的安装就算成功了。 #拷贝配置文件 cp mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf #添加变量,并使之生效 echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile source /etc/profile echo $PATH #授权用户及/tmp/临时文件目录 chown -R mysql.mysql /application/mysql/data/ chmod -R 1777 /tmp/ #初始化数据库 cd /application/mysql/scripts/ ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql cd ../ #启动数据库 cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld /etc/init.d/mysqld start #检查端口 netstat -lntup|grep 3306
编译安装完后一般安全操作:
1、删除不必要的用户和库:
#查看用户和主机列,从mysql.user里查看 select user,host from mysql.user; #删除用户名为空的库,并检查 delete from mysql.user where user=''; select user,host from mysql.user; #删除主机名为localhost.localdomain的库,并检查 delete from mysql.user where host='localhost.localdomain'; select user,host from mysql.user; #删除主机名为::1的库,并检查。::1库的作用为IPV6 delete from mysql.user where host='::1'; #删除test库 drop database test;
2、添加额外管理员:
# 添加额外管理员,system作为管理员,oldsuo为密码 mysql> delete from mysql.user; Query OK, 2 rows affected (0.00 sec) mysql> grant all privileges on *.* to system@'localhost' identified by 'oldsuo' with grant option; Query OK, 0 rows affected (0.00 sec) # 刷新MySQL的系统权限相关表,使配置生效 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select user,host from mysql.user; +--------+-----------+ | user | host | +--------+-----------+ | system | localhost | +--------+-----------+ 1 row in set (0.00 sec) mysql>
3、设置登录密码并开机自启:
#设置密码,并登陆 /usr/local/mysql/bin/mysqladmin -u root password 'oldsuo' mysql -usystem -p #开机启动mysqld,并检查 chkconfig mysqld on chkconfig --list mysqld
#安装依赖包 yum –y install ncurses ncurses-devel gcc gcc-c++ #添加mysql用户及组 groupadd mysql useradd -r -s /sbin/nologin -g mysql mysql #mysql5.1.62编译参数: ./configure \ --prefix=/usr/local/mysql \ --with-unix-soket-path=/usr/local/tmp/mysql.sock \ --localstatedir=/usr/local/mysql/data \ --enable-assembler \ --enable-thread-safe-client \ --with-mysqld-user=mysql \ --with-big-tables \ --without-debug \ --with-pthread \ --enable-assembler \ --with-extra-charsets=complex \ --with-readline \ --with-ssl \ --with-embedded-server \ --enable-local-infile \ --with-plugins=partition,innobase \ --with-mysqld-ldflags=-all-static \ --with-client-ldflags=-all-static make && make install #初始化mysql mkdir -p /usr/local/mysql/data #建立mysql数据文件目录 chown -R mysql.mysql /usr/local/mysql/ #授权mysql用户访问mysql安装目录 /usr/local/mysql/bin/mysql_install_db --user=mysql #初始化 #拷贝mysql启动脚本 cp support-files/my-small.cnf /etc/my.cnf #cp support-files/mysql.server /etc/init.d/mysqld chmod 700 /etc/init.d/mysqld #配置mysql使用全局路径 echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile #添加变量到profile source /etc/profile #使变量生效 echo $PATH #检查 #启动mysqld /etc/init.d/mysqld start #登陆报错,做软链接 #ln -s /usr/local/mysql/bin/mysql /usr/bin/ #启动报错日志: Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't #exist #解决方法: /usr/local/mysql/bin/mysql_install_db --user=mysql #初始化数据库即可 #登陆报错: mysql: unknown variable 'datadir=/usr/local/mysql/data' #解决方法: my.cnf 配置问题,vim /etc/my.cnf [client] #password = your_password port = 3306 socket = /tmp/mysql.sock #datadir = /data1/mysql/var/ #这个不能加在上面,去掉 [mysqld] port = 3306 socket = /tmp/mysql.sock datadir = /data1/mysql/var/ #加在这里就可以了 #设置mysql用户root 的密码为oldsuo /usr/local/mysql/bin/mysqladmin -u root password 'oldsuo'
mysql5.1.62安装编译
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL (一) 生产环境安装配置 - Python技术站