mysql 安装及遇到的问题

下面的shell是在centos下安装mysql的脚本

user=$(whoami) #当前登录用户
# echo $user
read -p 'mysql root password(msa_rd)' mysql_root_pwd  #输入密码
test -z $mysql_root_pwd && mysql_root_pwd='msa_rd' #密码为空默认为msa_rd
# echo $mysql_root_pwd
down_dir="/home/users/v_liujun01/download/lnmp.git"  #安装包目录
cd $down_dir

#tar zxvf mysql-5.6.14.tar.gz
cd  mysql-5.6.14/

mysql_dir="/home/users/v_liujun01/local/mysql56" #mysql安装目录
mkdir -p "$mysql_dir/data" #创建目录
cmake -DCMAKE_INSTALL_PREFIX=$mysql_dir -DMYSQL_DATADIR=$mysql_dir/data -DSYSCONFDIR=$mysql_dir -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_PARTITION_STORAGE_ENGINE=1  -DMYSQL_UNIX_ADDR=$mysql_dir/data/mysqld.sock  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_DEBUG=0
make && make install
cd ../
#mysql_install_db 完成了mysql的初始化。在执行了这个脚本之后,mysql里就会出现mysql的数据库。mysql_install_db 脚本的目的是生成新的MySQL授权表。
$mysql_dir/scripts/mysql_install_db --basedir=$mysql_dir --datadir=$mysql_dir/data --defaults-file=$mysql_dir/my.cnf --user=$user
$mysql_dir/bin/mysqladmin -u root password $mysql_root_pwd   #设置mysql密码
echo '+++++++++++++++++++++++++ mysql install end +++++++++++++++++++++++++++++++'

 

安装完成需要到$mysql_dir"/my.cnf"中配置:

basedir = '/home/users/v_liujun01/local/mysql56'
# datadir = .....
datadir = '/home/users/v_liujun01/local/mysql56/data'
# port = .....
# server_id = .....
# socket = .....
socket = '/home/users/v_liujun01/local/mysql56/data/mysqld.sock'
pid-file = '/home/users/v_liujun01/local/mysql56/data/mysql.pid'
log-error = '/home/users/v_liujun01/local/mysql/data/mysql_error.log'

然后启动 ./suport-files/mysql.server start 

 在MySQL 5.6.6之前,TIMESTAMP的默认行为:

  • TIMESTAMP列如果没有明确声明NULL属性,默认为NOT NULL。(而其他数据类型,如果没有显示声明为NOT NULL,则允许NULL值。)设置TIMESTAMP的列值为NULL,会自动存储为当前timestamp。
  • 表中的第一个TIMESTAMP列,如果没有声明NULL属性、DEFAULT或者 ON UPDATE,会自动分配 DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP 属性。
  • 表中第二个TIMESTAMP列,如果没有声明为NULL或者DEFAULT子句,默认自动分配’0000-00-00 00:00:00′。插入行时没有指明改列的值,该列默认分配’0000-00-00 00:00:00′,且没有警告。

explicit_defaults_for_timestamp=true

  • TIMESTAMP如果没有显示声明NOT NULL,是允许NULL值的,可以直接设置改列为NULL,而没有默认填充行为。
  • TIMESTAMP不会默认分配DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP属性。

 

 /home/users/v_liujun01/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.

 -----------------------------------------------------------------------------

我查了一下,然后这样能登录上去
1.在my.cnf中 添加 secure-auth = FALSE
2.连接时,加上--secure_auth=off

 

 

---------------------

 

导入sql 

use database

source 路径

 

posted @ 2014-12-11 22:54  小刘_php  阅读(150)  评论(0)    收藏  举报