ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

/etc/init.d/mysql stop

mysqld_safe --skip-grant-tables &

mysql -u root

use mysql;
update user set password=PASSWORD("NEW_PASSWORD") where User='root';
flush privileges;
quit;

/etc/init.d/mysql stop
/etc/init.d/mysql start

mysql -u root -p
 
Reference:-
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) (2014). Available at: http://stackoverflow.com/questions/21944936/error-1045-28000-access-denied-for-user-rootlocalhost-using-password-y

 

New Oracle ASM Disks Mapping in RHEL

cd /root/asm/

###start of infomation collection script named collect_info.sh
#!/bin/ksh

currentdatetime=$(date +”%T”.”%Y%m%d”)

echo “”
echo “############################################”
echo “# #”
echo “# LINUX – ASM Disk – Backup Informations #”
echo “# #”
echo “############################################”
echo “”

echo ” ##### Collecting informations ##### ”
ls -l /dev/disk/by-id/ > diskbyidbef.$currentdatetime
ls -l /dev/disk/by-id/ | grep -i scsi- > diskbywwnidbef.$currentdatetime
multipath -ll > mpathidbef.$currentdatetime

echo ” ##### Backup configurations file ##### ”
cp -p /etc/udev/rules.d/99-oracle-asmdevices.rules /etc/udev/rules.d/99-oracle-asmdevices.rules.$currentdatetime
echo “Backup 99-oracle-asmdevices.rules to /etc/udev/rules.d/99-oracle-asmdevices.rules.$currentdatetime …”
cp -p /etc/multipath.conf /etc/multipath.conf.$currentdatetime
echo “Backup multipath.conf to /etc/multipath.conf.$currentdatetime …”
echo ” ##### Verify file existence ##### ”
ls -l /etc/udev/rules.d/99-oracle-asmdevices.rules.$currentdatetime
ls -l /etc/multipath.conf /etc/multipath.conf.$currentdatetime
########end of script for collect_info.sh

########start of device scanning script named device_scan.sh
#!/bin/ksh

currentdatetime=$(date +”%T”.”%Y%m%d”)

echo “”
echo “############################################”
echo “# #”
echo “# LINUX – ASM Disk – Device Scanning #”
echo “# #”
echo “############################################”
echo “”

echo ” ##### Collecting informations ##### ”
for i in `cat fc `; do echo “- – -” > /sys/class/scsi_host/$i/scan; echo $i; done

echo ” ##### Gather informations after scanning ##### ”
ls -l /dev/disk/by-id/ > /root/asm/diskbyidaft.$currentdatetime
echo “Save current informations to /root/asm/diskbyidaft.$currentdatetime…”
ls -l /dev/disk/by-id/ | grep -i scsi- > /root/asm/diskbywwnidaft.$currentdatetime
echo “Save current informations to /root/asm/diskbywwnidaft.$currentdatetime…”
multipath -ll > /root/asm/mpathidaft.$currentdatetime
echo “Save multipath informations after scanning to /root/asm/mpathidaft.$currentdatetime…”
#######end of device scanning script named device_scan.sh

#shows newly added disks wwn no
diff diskbywwnidbef.$currentdatetime diskbywwnidaft.$currentdatetime

vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL==”dm-*”, PROGRAM=”scsi_id –page=0x83 –whitelisted –device=/dev/%k”, RESULT==”new wwn”, SYMLINK+=”oracleasm/disks/new_asm_disk_data”, OWNER:=”oracle”, GROUP:=”dba”, MODE=”0660″

#reload udev rules
udevadm control –reload-rules
udevadm trigger

List the Mapped disks
# ls -l /dev/oracleasm/disks

Easy Way to Connect MySql using JDBC

Hi, i will show you how to connect mysql using jdbc in easy way. For those who does not know what jdbc means, it is actually stand for Java Data Base Connector. There are several things you need to prepare before connecting the mysql server. In this tutorial, i was using WAMP server which is pre-installed with mysql just to demonstrate the connection to the mysql from java programming.

Okay, the requirements for this tutorials are:-

1)  Java IDE (eclipse MARS). You can download here (new version eclipse Neon )

2) WAMP server (assume the package installed is v3.0.6).  You can download here.

3) MySQL connector (i am using 5.1.40 connector). You can download here.

4) Set of Java program (will be shown below).

===================================================

1.1) Install eclipse and open it, create new package and new class name.

===================================================

2.1) After the WAMP server is successfully installed and run, you can see the green “W”  icon on the taskbar(on the most left position):-

We can open the phpmyadmin page by left click on the icon:-

The default username for phpmyadmin is ‘root’ and left blank for password:-

After login, we can see the dashboard panel for our database:-

As highlighted in above image, we can straight away create the database by clicking new and put a name for the database for example here my database name is ‘test1’.

Please be remind to always keep refresh for any changes made.

===================================================

3.1) To loading mysql connector into eclipse IDE, we have to configure the build path of the package, and load external connector jar as shown here:-

a) First right click on the package and choose Build Path > Configure Build Path.

b) After that, Add External JARs:-

c) Choose all the JARs files in the mysql connector folder and ok.:-

===================================================

4.1) Assuming all the requirements has been installed and running properly, you have to write the code which require the connection class to be used and driver manager method.

Below is the example to establish the connection to the mysql:-

public static Connection getConnection() {
String driver = “com.mysql.jdbc.Driver”;
String url = “jdbc:mysql://localhost:3306/test1”;
String username = “root”; //leave blank if none
String password = “”; //leave blank if none

try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
return DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}

Below is the sample code for creating table:-

public static Connection writeTable() throws SQLException{
Connection conn2 = getConnection();

String createString=
“CREATE TABLE table8″+
“(ID integer NOT NULL,”+
“LASTNAME varchar(32) NOT NULL,”+
“FIRSTNAME varchar (32) NOT NULL,”+
“Telephone varchar (16) NOT NULL,”+
“PRIMARY KEY (ID))”;
System.out.println(“the db suppose to be written”);

Statement stmt=null;
try{
stmt=conn2.createStatement();
stmt.executeUpdate(createString);
System.out.println(“the db suppose to be written now”);
}
catch(SQLException e){
e.getErrorCode();
System.out.println(“the db have an error:”+e.getSQLState());
}
finally {
if (stmt!=null){stmt.close();}}
return conn2;
}

After you compile and run the code, below result will be appeared:-

After create table, you have to refresh your table by clicking refresh button as below example:-

 

You can check the table created in phpmyadmin page:-

 

And  below code is for inserting data into the table:-

public static Connection populateTable() throws SQLException{
Connection conn2 = getConnection();
Statement stmt=null;
String query = “INSERT INTO `table7`”+”values(125,’Mark’,’Walbergue’,0123456789)”;
try{
stmt=conn2.createStatement();
stmt.executeUpdate(query);}
catch(SQLException e){e.printStackTrace();}
finally{if(stmt!=null){stmt.close();}}
return conn2;

}

 

Keep refresh the table, the data inserted can be viewed as below:-

And below here is the example for viewing the table that we just created:-

private static void viewTable() throws SQLException{
// TODO Auto-generated method stub
Connection conn2 = getConnection();
Statement stmt=null;
String query =
” Select * FROM table8″;
try{
stmt=conn2.createStatement();
ResultSet rs=stmt.executeQuery(query);
while(rs.next()){
int ID=rs.getInt(“ID”);
String lastName=rs.getString(“LASTNAME”);
String firstName=rs.getString(“FIRSTNAME”);
int phone=rs.getInt(“Telephone”);
System.out.println(ID+”\t”+lastName+”\t”+firstName+”\t”+phone+”\t”);
}}
catch(SQLException e){e.printStackTrace();}
finally{if (stmt!=null){stmt.close();}}
}

The result will be shown in the console as below example:-

Main method for this class is shown as below:-

public static void main(String args[]) throws SQLException {

try {

writeTable();
viewTable();
populateTable();
} catch(Exception e) {
System.out.println(e.getMessage());
}

Thats all the examples for establishing connection to the mysql, creating and viewing table and inserting data to table. Hope it can give you an idea how it is works and thanks for viewing this tutorial.

See you again..!

[ERROR] Plugin ‘InnoDB’ init function returned error.

I was getting below mysql error log:-

[Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: Using Linux native AIO
InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
InnoDB: Completed initialization of buffer pool
InnoDB: Fatal error: cannot allocate memory for the buffer pool
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
[Note] /usr/libexec/mysqld: Shutdown complete

I found out there are two solutions which are:-

1)Set innodb_log_file_size equal to the actual size of the existing InnoDB log files. To see what size of innoDB log allocated, login mysql and enter following cmd:-

SHOW GLOBAL VARIABLES LIKE 'innodb_log_file_size';

Expected result example:- 5242880

After that, insert that value in my.cnf:- vi /etc/my.cnf

 innodb_log_file_size =5242880

2)Rename or move both the ./ib_logfile0 and ./ib_logfile1 files, and then start the MySQL server.This normally will be located at /var/lib/mysql. After start mysql, it create new innoDB log file and restore possible half-written data from the file of .ibd.

The expexted mysql log example:-

InnoDB: Database physically writes the file full: wait...
161216  9:58:54  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
161216  9:58:54 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
161216  9:58:54  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
161216  9:58:54  InnoDB: Waiting for the background threads to start
161216  9:58:55 InnoDB: 5.5.50 started; log sequence number 1589772
161216  9:58:55 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
161216  9:58:55 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
161216  9:58:55 [Note] Server socket created on IP: '0.0.0.0'.
161216  9:58:55 [Note] Event Scheduler: Loaded 0 events
161216  9:58:55 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.50'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL) by Remi

References:- JUSTIN KULESZA (2011). MySQL: Failed Registration of InnoDB as a Storage Engine. Available at: https://spin.atomicobject.com/2011/05/09/mysql-failed-registration-of-innodb-as-a-storage-engine/.

RolandoMySQLDBA (2014). MySQL my.cnf: innodb_log_file_size is missing. Available at: http://dba.stackexchange.com/questions/75688/mysql-my-cnf-innodb-log-file-size-is-missing/158325#158325

Changing the Number or Size of InnoDB Redo Log Files. Available at: http://dev.mysql.com/doc/refman/5.7/en/innodb-data-log-reconfiguration.html