编译安装mysql5.x
下载文件解压缩
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-extra-charsets=all --with-charset=gbk --with-collation=gbk_chinese_ci --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-plugins=all --with-pthread --enable-thread-safe-client --enable-assembler --sysconfdir=/usr/local/mysql --with-mysqld-user=mysql --with-big-tables --enable-local-infile
groupadd mysql
useradd -g mysql mysql
cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
修改my.cnf
---------------------
[mysqld]
default-character-set=utf8
default-storage-engine=INNODB
lower_case_table_names=1
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
datadir = /usr/local/mysql/data
在my.cnf里增加user=mysql
cd /usr/local/mysql
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
bin/mysql_install_db --user=mysql (安装缺省数据库:mysql)
将安装的mysql做成自启动:
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
./bin/mysqld_safe --user=mysql &
./bin/mysqladmin -uroot -p password '111111' (修改mysql密码为111111)
关闭mysql:
./bin/mysqladmin shutdown -uroot -p111111
修改mysql 授权表
./bin/mysql -uroot -p111111 mysql
>delete from user where user='' or user is null;
>update uset set host='%' where user='root' and host='localhost'; (将授权表改成有密码的 )
>flush privileges
service mysqld restart
----------------
显示插件:
./mysql -uroot -pfoo.bar mysql
show plugin;
show engines;
delete from user where user='';
delete from user where password='';
代码:cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
可以使用server mysqld restart启动
my-huge.cnf 1G<内存<2G,服务器主要运行mysql
---安装mysql5.5----------
- 下载cmake(http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz)
[root@web-2 ~]# wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz
[root@web-2 ~]# tar zxvf cmake-2.8.9.tar.gz
[root@web-2 ~]# cd cmake-2.8.9
- 运行:
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre-devel zlib-devel bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel
- 编译 cmake
[root@web-2 ~]# ./bootstrap
[root@web-2 ~]# make(时间较长)
[root@web-2 ~]# make install (时间较长)
[root@web-2 ~]# cd ..
[root@web-2 ~]# cd mysql-5.5.28
[root@web-2 ~]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5 -DMYSQL_DATADIR=/usr/local/mysql5.5/data -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql5.5/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=0 -DWITHOUT_PARTITION_STORAGE_ENGINE=0 -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0 -DENABLED_LOCAL_INFILE=1
make&&make install
cd /usr/local/mysql5.5
chown -hR mysql:mysql /usr/local/mysql5.5
./scripts/mysql_install_db --user=mysql (如果不能运行,修改此文件,加上: basedir=/usr/local/mysql5.5,builddir=/usr/local/mysql5.5)
启动 mysql5.5
cd /usr/local/mysql5.5
./bin/mysqld_safe --user=mysql & (运行此命令时 依赖于 /etc/my.cnf,所以必须将此文件正确配置)
- 修改my.cnf 让mysql支持从命令行客户端正确输入,保存并导出中文 (客户端设置latin1,服务端设置 utf8)
vi /etc/my.cnf或者 /usr/local/mysql5.5/my.cnf
[client]
#password = your_password
port = 3306
socket = /usr/local/mysql5.5/mysql.sock
#支持从命令行客户端正确输入,导出:比如mysqldump命令
default-character-set=latin1
[mysqld]
default-storage-engine=INNODB
#保存中文
character_set_server=utf8
lower_case_table_names =1
清楚mysql5.5的root空密码,一律有密码.
delete from user where user='';
update user set password=password('vcp2014');
update user set host='%' where host='::1';
MySQL 5.5(rpm格式)在Linux 上安装
Linux系统上安装MySQL 5.5prm
1.准备工作
从MySQL官网上分别下载mysql服务器端于客户端包。
如:
MySQL-server-5.5.15-1.linux2.6.x86_64.rpm和MySQL-client-5.5.15-1.linux2.6.x86_64.rpm
并放到/opt目录下
2.检测系统是否安装MySQL
(1)进入系统后,检测是否安装mysql.
如:检测是否安装Mysql输入
#rpm -qa | grep -i mysql |
若已安装过,会出现以下
MySQL-server-5.0.22-0.i386 MySQL-client-5.0.22-0.i386 |
(2)那么输入以下命令删除它:
#rpm -ev MySQL-server-5.0.22-0.i386 # rpm -ev MySQL-client-5.0.22-0.i386
注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。rpm -ev dovecot-1.0.7-7.el5.x86_64 |
3.安装MySQL
(1)第一步:安装mysql服务端,输入以下命令
# rpm -ivh /opt/MySQL-server-5.5.15-1.linux2.6.x86_64.rpm |
当出现如下:
Preparing... ########################################### [100%] |
表示MySQL安装完成。
(2)检测mysql 3306是否安打开,输入以下命令
# netstat -nat |
当出现如下时,表示mysql 3306端口打开
Active Internet connections (servers and
established) |
(3)安装mysql客户端,同理输入以下命令
# rpm -ivh /opt/ MySQL-client-5.5.15-1.linux2.6.x86_64.rpm |
当出现如下:表示安装成功
warning: MySQL-client-5.1.7-0.i386.rpm: V3 DSA
signature: NOKEY, key ID 5072e1f5 |
4.配置MySQL
(1)上面都是安装完成了,但都是默认的,还需要很多配置。
先了解下默认安装位置及作用
1.数据库目录 如:/etc/rc.d/init.d/mysql start/restart/stop/status |
(2)由于MySQL数据库目录占用磁盘比较大,所以我在/根目录下建了个个目录data,命令如下:
#cd / #mkdir data |
建成后,根目录就会出现以下文件夹
(3)把数据库移动到data目录中去。输入以下命令:
# mv /var/lib/mysql /data |
最后,进入data目录就会看到有一个mysql文件夹。
拷贝完后还需修改/etc/rc.d/init.d/mysql的datadir目录值,修改结果如:
basedir=
datadir=/data/mysql
(4)拷贝配置文件到/etc目录下,并命名为my.cnf(必须名为my.cnf)
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf |
这儿要注意:/usr/share/mysql/下有好几个结尾为cnf的文件,它们的作用分别是:
1.my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。 |
(5)最后配置/etc/my.cnf文件的datadir,和mysql.sock路径以及默认编码utf-8.
,红色字体标示为修改后的。
[client] password = 123456 port = 3306 socket = /data/mysql/mysql.sock default-character-set=utf8 # Here follows entries for some specific programs
# The MySQL server [mysqld] port = 3306 socket = /data/mysql/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M character_set_server=utf8 (注意linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;lower_case_table_names = 0 0:区分大小写,1:不区分大小写) max_connections=1000(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; ) [mysql]
default-character-set = utf8
no-auto-rehash |
(6)进入/usr/bin目录下重启mysql服务
#mysql_install_db
#cd /usr/bin/mysql restart |
(7)登录mysql
#cd /usr/bin/mysql -u root -p Enterpassword:(直接回车,因为第一次为空密码) |
(8)登录成功后,修改密码
进入>mysql环境下,
输入: > mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec) > mysql> use mysql Database changed mysql> show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | host | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | servers | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 24 rows in set (0.00 sec) > mysql>update user set password=password('123456')where user='root'; 修改root密码为123456 |
最后重启mysql,密码生效
/usr/local/mysql/bin/mysqld_safe --user=mysql&
#cd /usr/bin/mysql restart |
(6)MySQL安装成功
(7)执行以下语句用来查看MySQL默认编码
mysql> show variables like '%colla%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | gb2312_chinese_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gb2312 |
| character_set_connection | gb2312 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gb2312 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
111:又时候启动两次MySQL会报错
通过ps aux | grep mysql查看启动进程,然后通过kill -9 进程编号。删除就可以了
--查看数据库的字符集
show variables like 'character\_set\_%';
show variables like 'collation_%';
(8)MySQL查看当前使用用户
>mysql show processlist
(9)MySQL备份
mysqldump abc(数据库名) --user=root --password > /root/abc.sql
mysqldump -u root -p abc(数据库名) user (表名)>/user.sql(导出单张表)
注意,如果运行 mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题
导入:
mysql> use abc;
mysql>source /root/abc.sql(导入数据库)
mysql>source /user.sql(导入单张表)
(10)创建索引
CREATE INDEX IX_NAME ON USER(NAME) ;
(11)查看索引
SHOW INDEX FROM USER;
(12)修改表字段长度
alter table c_logo_image modify column CONTENT varchar(21840);
(13)添加字段
alter table table1 add transactor varchar(10) not Null;
alter table student add num decimal(8,0) default 0 ;
alter table student2 add loginNum decimal(8,0) not null default 0 ;
(14)MySQL设置自启动
chkconfig mysql on
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
搜索
我的标签
- Linux(3)
- Linux 中文编码(1)
- linux解压命令(1)
- Linux下设置IP(1)
- linux找回密码(1)
- Linu防火墙设置(1)
- linu自启动(1)
- MySQL(1)
- MySQL left join(1)
- mysql安装(1)
- 更多
随笔档案
- 2014年6月 (1)
- 2014年5月 (2)
- 2014年4月 (4)
- 2014年3月 (4)
- 2014年2月 (1)
- 2013年12月 (1)
- 2013年10月 (1)
- 2013年7月 (2)
- 2013年6月 (1)
- 2013年5月 (4)
- 2013年4月 (4)
- 2013年3月 (6)
- 2013年2月 (2)
- 2013年1月 (1)
- 2012年12月 (4)
- 2012年11月 (1)
- 2012年10月 (1)
- 2012年9月 (1)
- 2012年8月 (8)
- 2012年7月 (6)
- 2012年6月 (6)
- 2012年5月 (7)
- 2012年4月 (18)
- 2012年3月 (9)
- 2012年2月 (4)
- 2012年1月 (4)
- 2011年12月 (2)
文章分类
最新评论
- 1. Re:IT好网站
- 在www.it3848.com IT网址全部都有
阅读排行榜
- 1. 【收藏】window.addEventListener介绍说明(6817)
- 2. 【转】Linux安装JDK1.7 prm(2396)
- 3. MySQL报错:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement(2160)
- 4. 【转】 java循环Map java迭代Map介绍(1814)
- 5. [转]JAVA URL请求(1803)
- 6. JQuery在线帮助文档(1505)
- 7. Win7安装Tomcat(1446)
- 8. 【收藏】Linux tail命令(1292)
- 9. 【收藏】【Linux】date命令用法详解(日期格式)(1167)
- 10. 【转】Linux memcatch安装(696)
- 11. SSH出现ls command not found(579)
- 12. [转]Linux下echo命令详解(562)
- 13. win7删除SVN保存的本地密码(487)
- 14. MySQL对表操作命令(378)
- 15. [转]Linux修改文件夹权限(298)
- 16. 【转】VirtualBox网络设置与应用详解(279)
- 17. MySQL日志比较(276)
- 18. HTML5学习各个网站(270)
- 19. java公共正则表达式验证(261)
- 20. [转]MySQL Left Join学习例子(235)
- 21. windows安装mysql(220)
- 22. activemq设置自启动(207)
- 23. MySQL报错【innoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED】(197)
- 24. SVN打包备份(181)
- 25. MySQL添加列字段超过一定数量,不让添加问题(173)
- 26. 【收藏】MySQL日期函数(172)
- 27. MySQL的mysqldump工具的基本用法(134)
- 28. Linux找回密码(117)
- 29. 【转】OSGI文章(114)
- 30. 【转】了解 Eclipse 插件如何使用 OSGi(112)
- 31. IT好网站(109)
- 32. win7安装jdk完后配置(108)
- 33. SQL优化(108)
- 34. 【转】LVS介绍负载均衡(102)
- 35. Linux Too Many OpenFiles(101)
- 36. 【收藏】jquery ajax事件(99)
- 37. 【转】常用网络命令(96)
- 38. [转]Linux端口查看命令(91)
- 39. [转]Linux安装JDK(82)
- 40. oracle clob操作(76)